Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用MySQL C+解析未定义的引用+;连接器 我试图编译这个(也在MySQL C++连接器文档中列出):_C++_Mysql_G++_Mysql Connector - Fatal编程技术网

使用MySQL C+解析未定义的引用+;连接器 我试图编译这个(也在MySQL C++连接器文档中列出):

使用MySQL C+解析未定义的引用+;连接器 我试图编译这个(也在MySQL C++连接器文档中列出):,c++,mysql,g++,mysql-connector,C++,Mysql,G++,Mysql Connector,但我有以下错误: 以下是我尝试编译的方式: g++ -o test test.cpp `mysql_config --cflags --libs` -I./include/cppconn -L./lib -lmysqlcppconn-static 运行mysql\u config--cflags--libs的结果是: -I/usr/include/mysql -DBIG_JOINS=1 -fno-strict-aliasing -g -L/usr/lib/x86_64-linux-gnu

但我有以下错误:

以下是我尝试编译的方式:

g++ -o test test.cpp `mysql_config --cflags --libs` -I./include/cppconn -L./lib -lmysqlcppconn-static
运行
mysql\u config--cflags--libs
的结果是:

-I/usr/include/mysql -DBIG_JOINS=1  -fno-strict-aliasing  -g
-L/usr/lib/x86_64-linux-gnu -lmysqlclient -lpthread -lz -lm -lrt -ldl
编辑:

在使用正确排序的链接器参数运行Jonathan Wakely建议的命令后

g++ -o test test.cpp  -I./include/cppconn -L./lib -lmysqlcppconn-static `mysql_config --cflags --libs`

我得到了不同的错误:

mysqlcppcon库依赖于mysqlclient C库,因此需要将mysqlclient libs放在
-lmysqlcpcconn static

g++ -o test test.cpp  -I./include/cppconn -L./lib -lmysqlcppconn-static `mysql_config --cflags --libs`

链接器参数的顺序很重要。链接器按顺序查看每个文件,并决定是否需要其中的任何符号。当它看到
libmysqlcppcconn static.a
文件时,它已经查看(并忽略)libmysqlclient.so库,不再回头查看它。

谢谢Jonathan Wakely。我注意到示例中的顺序是不同的,其中使用了cc,所以这种顺序是特定于gcc/g++,对吗?不管怎么说,我还是很紧张,所以也许我错过了什么?