所有与mysql库相关的问题都使用标准gcc编译器。但是,我需要编译一个运行在beaglebone黑色设备上的项目。因此,我使用的是arm-linux-gnueabihf-gcc而不是gcc。
这里是我的环境:
请帮忙纠正我的错误。谢谢使用标准gcc编译,所以这意味着我已经安装了。
apt-get install libmysqlclient-dev
apt-get install libmysqlcppconn-dev
apt-get install mysql-client
apt-get install mysql-server所以,这就是我编译后得到的:
12:38:15 **** Incremental Build of configuration Debug for project arm2 ****
make all
Building file: ../src/arm2.cpp
Invoking: GCC C++ Compiler
arm-linux-gnueabihf-g++ -I/usr/arm-linux-gnueabihf/include/mysql -I/usr/arm-linux-gnueabihf/include/mysql/cppconn -I/usr/arm-linux-gnueabihf/include/c++/4.8.2 -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/arm2.d" -MT"src/arm2.d" -o "src/arm2.o" "../src/arm2.cpp"
../src/arm2.cpp: In function ‘int main()’:
../src/arm2.cpp:32:10: warning: variable ‘driver’ set but not used [-Wunused-but-set-variable]
Driver *driver;
^
Finished building: ../src/arm2.cpp
Building target: arm2
Invoking: GCC C++ Linker
arm-linux-gnueabihf-g++ -L/usr/arm-linux-gnueabihf/lib -L/usr/arm-linux-gnueabihf/libsf -L/usr/lib/mysql -L/usr/lib -o "arm2" ./src/arm2.o -lmysqlcppconn
/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/bin/ld: skipping incompatible /usr/arm-linux-gnueabihf/lib/libmysqlcppconn.so when searching for -lmysqlcppconn
/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/bin/ld: skipping incompatible /usr/lib/libmysqlcppconn.so when searching for -lmysqlcppconn
/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/bin/ld: skipping incompatible /usr/lib/libmysqlcppconn.a when searching for -lmysqlcppconn
/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/bin/ld: skipping incompatible /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/lib/../lib/libmysqlcppconn.so when searching for -lmysqlcppconn
/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/bin/ld: skipping incompatible /usr/lib/../lib/libmysqlcppconn.so when searching for -lmysqlcppconn
/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/bin/ld: skipping incompatible /usr/lib/../lib/libmysqlcppconn.a when searching for -lmysqlcppconn
/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/bin/ld: skipping incompatible /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/lib/libmysqlcppconn.so when searching for -lmysqlcppconn
/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/bin/ld: skipping incompatible //usr/lib/libmysqlcppconn.so when searching for -lmysqlcppconn
/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/bin/ld: skipping incompatible //usr/lib/libmysqlcppconn.a when searching for -lmysqlcppconn
/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/bin/ld: skipping incompatible /usr/arm-linux-gnueabihf/lib/libmysqlcppconn.so when searching for -lmysqlcppconn
/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lmysqlcppconn
collect2: error: ld returned 1 exit status
make: *** [arm2] Error 1
12:38:18 Build Finished (took 2s.451ms)发布于 2015-02-07 22:28:38
首先必须删除这些选项,因为链接器试图在这些路径(显然没有.so文件)中找到:-L/usr/lib/mysql -L/usr/lib,并查找这些文件并将这些文件从您的BBB复制到您的计算机:
libmysqlclient.a
libmysqlclient.so
ld-linux.so.3
ld-linux-armhf.so.3
libmysqlclient.a
libmysqlclient.so
libz.so.1然后将这些文件添加到链接器选项中。
最后,将这些选项添加到链接器中:
-L/usr/lib/arm-linux-gnueabihf -L/lib/arm-linux-gnueabihf -lmysqlclient -lpthread -lz -lm -lrt -ldlhttps://askubuntu.com/questions/520160
复制相似问题