G++ MySQL 链接器错误

g++ mysql linker error

本文关键字:错误 链接 MySQL G++      更新时间:2023-10-16

我正在尝试使用以下命令行编译一个用c ++编写的程序:

g++ test.cpp pugixml-1.0/src/pugixml.cpp -lcurl -lmysqlclient -lmysqlcppconn-static -lboost_thread

这在 Debian 32 位机器上运行良好,但在 Ubuntu 64 位中失败,我不知道为什么。我已经安装了使用 mysql 所需的所有软件包。错误消息如下所示:

/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../lib/libmysqlcppconn-static.a(mysql_client_api.cpp.o): In function `sql::mysql::NativeAPI::LibmysqlStaticProxy::thread_init()':
(.text+0x1): undefined reference to `mysql_thread_init'
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../lib/libmysqlcppconn-static.a(mysql_client_api.cpp.o): In function `sql::mysql::NativeAPI::LibmysqlStaticProxy::thread_end()':
(.text+0x11): undefined reference to `mysql_thread_end'
etc. ...
collect2: ld returned 1 exit status

消息很长,所有行看起来都非常相似,引用;)

尝试反转链接器调用中-lmysqlclient -lmysqlcppconn-static的顺序。

如果对象 A 需要对象 B 中的符号,则链接器命令行中的 A 必须位于 B 的前面。

相关文章: