3

在构建来自以下网址的最简单示例时,我得到“对'get_driver_instance'的未定义引用”:http: //dev.mysql.com/doc/refman/5.1/en/connector-cpp-examples-complete-example-1 .html。它在我的本地机器上构建和运行良好,但它不会在服务器上构建——似乎链接 mysql 库问题。
这是我的构建命令:
g++ -o test -Iinclude -Llib -L/usr/lib64/mysql main.cpp

我无法在服务器上运行本地构建的二进制文件,因为它是使用动态“libmysqlclient.so”构建的。我还尝试在本地计算机上安装静态 libmysqlclient.a,但在 /usr/lib/mysql 目录中找不到“libmysqlclient.a”。我假设在服务器上运行它的唯一方法是我可以在本地机器上静态构建它,或者我可以直接在服务器上编译和构建它。我试过'sudo yum install mysql-devel',但我只看到libmysqlclient.so——找不到'libmysqlclient.a'。有没有办法在我的本地 linux 上安装静态 mysqlclient 或者我的构建 cmd 错误?如何在服务器上构建源代码?

4

2 回答 2

13

尝试添加-lmysqlcppconn到您的链接器选项。我回答只是为了得到答案(即使这是在 2 年前问过的:D)

于 2012-08-09T08:40:09.780 回答
1

尝试在命令中添加'-lmysqlclient',即:g++ -o test -Iinclude -Llib -L/usr/lib64/mysql -lmysqlclient main.cpp

于 2010-08-10T15:24:54.190 回答