我正在尝试使用c ++和mysql(mysql-connector-c ++)构建一个简单的项目。
经过数小时的工作,我设法解决了将boost lib和mysql-connector-c ++ lib与Xcode中的项目链接的问题。
通过将这些路径添加到我的Xcode项目中来解决该问题: (在标题和库搜索路径中,在项目构建设置中)
headers and library search paths
现在,当我尝试使用mysql示例建立与数据库的简单连接时,如下所示:
void DataBase::connectToDataBase() {
driver = get_driver_instance();
setConectionProperties();
try {
connection = driver->connect(*properties);
connection->setSchema(DATABASE);
}catch (SQLException &e) {
cout << e.what();
}
this->~DataBase();
exit(1);
}
我收到以下错误:
体系结构x86_64的未定义符号: “ _get_driver_instance”,引用自: DataBase.o中的DataBase :: connectToDataBase() ld:找不到架构x86_64的符号 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
Full error log with linker command line
我对链接器错误以及如何解决它们没有太多了解。 我搜索了这个问题,发现这是一个非常常见的问题,但没有设法理解或解决它。
如果您有任何建议,我将很高兴听到。
一些必要的详细信息:
我正在使用MacBook Air High Sierra版本10.13.6
通过Homebrew安装了“ boost”和“ mysql-connector-c ++”。
我正在使用Xcode版本10.1
提前谢谢!
答案 0 :(得分:1)
我的问题的解决方案是:
在“其他链接器标志”中添加标志:“-lmysqlcppconn”
(“其他链接器标志”可以在项目“构建设置”的“链接”中找到)