在构建来自http://dev.mysql.com/doc/refman/5.1/en/connector-cpp-examples-complete-example-1.html的最简单示例时,我得到了对“get_driver_instance”的“未定义引用”。它在我的本地机器上构建和运行良好,但它不会在服务器上构建 - 似乎链接mysql库问题
这是我的构建cmd:
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或者我的build cmd错了?如何在服务器上构建源代码?
答案 0 :(得分:11)
尝试将-lmysqlcppconn
添加到链接器选项中。我回答这个问题是为了得到一个答案(尽管2年前有人问过这个问题:D)
答案 1 :(得分:1)
尝试在命令中添加'-lmysqlclient',即:g ++ -o test -Iinclude -Llib -L / usr / lib64 / mysql -lmysqlclient main.cpp