社会问题

时间:2014-01-19 18:59:55

标签: c++ mysql c soci

我正在尝试使用SOCI库来轻松访问MySQL,但我一直在安装库。

到目前为止我所做的是:

  • 制作项目并使用CMake
  • 编译
  • 将我的项目链接到编译后创建的lib / release directoy。
  • 将我的项目链接到MySQL C Connector lib目录

这是我的其他包含目录: http://puu.sh/6qGNP.png

但不知何故,当我编译示例程序时,我得到了一堆链接器错误,如下所示:

  

1&gt; main.obj:错误LNK2019:未解析的外部符号“public:virtual __thiscall soci :: details :: standard_into_type :: ~standard_into_type(void)”(?? 1standard_into_type @ details @ soci @@ UAE @ XZ)引用在函数“public:virtual __thiscall soci :: details :: into_type ::〜into_type(void)”(?? 1?$ into_type @ H @ details @ soci @@ UAE @ XZ)   1&gt; main.obj:错误LNK2001:未解析的外部符号“protected:virtual void __thiscall soci :: details :: standard_into_type :: post_fetch(bool,bool)”(?post_fetch @ standard_into_type @ details @ soci @@ MAEX_N0 @ Z)< / p>

我在哪里陷入困境?

1 个答案:

答案 0 :(得分:1)

来自文档:

必需的客户端库

SOCI MySQL后端需要MySQL的libmysqlclient客户端库。

请注意,SOCI库本身也依赖于libdl,因此编译基本客户端程序所需的最小库集是:

-lsoci_core -lsoci_mysql -ldl -lmysqlclient

这一直对我有用。如果要从构建位置链接它们,则需要将带有库路径的-L开关传递给编译器。