C++ MySQL链接器错误

Sim*_*Guy 1 c++ mysql boost visual-studio-2010

我是Visual C++的新手.我想使用MySQL/C++.所以我

  • 在我的机器上安装了MySQL在我的机器上安装了VS 2010 Professional
  • 从互联网上,我发现找到了我的SQL驱动程序

C:\ Program Files\MySQL\Connector.C++ 1.1\include < - Headers

C:\ Program Files\MySQL\Connector.C++ 1.1\lib < - Libs

  • 我制作了一个示例程序,我从中复制了该程序.
  • 建立项目
  • 得到与提升有关的错误
  • 下载boost_1_61_0.7z下载Boost (74.8 MB)
  • 解压缩档案
  • 使用项目属性> C/C++>常规>其他包含目录添加了包含路径

在此输入图像描述

  • 使用" 项目属性">"链接器">"常规">"其他库目录"添加了链接器其他库

在此输入图像描述

  • 建造了这个项目
  • 现在它失败并出现以下错误

1> DemoDB.obj:错误LNK2019:未解析的外部符号"__declspec(dllimport)public:class std :: basic_string,class std :: allocator> const&__thiscall sql :: SQLException :: getSQLState(void)const"(__ imp_?getSQLState @ SQLException @sql @@ QBEABV?$ basic_string @ DU?$ char_traits @ D @ std @@ V?$ allocator @ D @ 2 @@ std @@ XZ)在函数__catch $ _wmain $ 0中引用

1> DemoDB.obj:错误LNK2019:未解析的外部符号"__declspec(dllimport)public:int __thiscall sql :: SQLException :: getErrorCode(void)const"(__ imp_?getErrorCode @ SQLException @sql @@ QBEHXZ)在函数__catch $中引用_wmain $ 0 1> DemoDB.obj:错误LNK2019:未解析的外部符号"__declspec(dllimport)public:__ thishisall sql :: SQLString :: ~SQLString(void)"(__ imp _ ?? 1SQLString @sql @@ QAE @ XZ)在函数中引用_wmain

1> DemoDB.obj:错误LNK2019:未解析的外部符号"__declspec(dllimport)public:__ thiscall sql :: SQLString :: SQLString(char const*const)"(__ imp _ ?? 0SQLString @sql @@ QAE @ QBD @ Z)引用在函数_wmain中

1> DemoDB.obj:错误LNK2019:函数_wmain中引用的未解析的外部符号__imp__get_driver_instance

1> DemoDB.obj:错误LNK2019:未解析的外部符号"__declspec(dllimport)public:class std :: basic_string,class std :: allocator> const&__thiscall sql :: SQLString :: asStdString(void)const"(__ imp_?asStdString @ SQLString @sql @@ QBEABV?$ basic_string @ DU?$ char_traits @ D @ std @@ V?$ allocator @ D @ 2 @@ std @@ XZ)在函数"class std :: basic_ostream>&__cdecl std中引用: :operator <<(class std :: basic_ostream>&,class sql :: SQLString const&)"(?? 6std @@ YAAAV?$ basic_ostream @ DU?$ char_traits @ D @ std @@@ 0 @ AAV10 @ ABVSQLString @ SQL @@@ Z)

在此输入图像描述

请帮忙.我完全陷入困境

编辑:

此行导致以下错误

cout << ", SQLState: " << e.getSQLState() << " )" << endl;
Run Code Online (Sandbox Code Playgroud)

1> DemoDB.obj:错误LNK2019:未解析的外部符号"__declspec(dllimport)public:class std :: basic_string,class std :: allocator> const&__thiscall sql :: SQLException :: getSQLState(void)const"(__ imp_?getSQLState @ SQLException @sql @@ QBEABV?$ basic_string @ DU?$ char_traits @ D @ std @@ V?$ allocator @ D @ 2 @@ std @@ XZ)在函数__catch $ _wmain $ 0中引用

到目前为止我已经提到过,但没有帮助

Sim*_*Guy 5

经过多次努力,我设法解决了这个问题.以下是帮助我的原因

  • 首先,转到Project Properties> Configuration Manager>"为Platform x64创建新配置,因为我的MySQL库是64位

在此输入图像描述

  • 其次,转到项目属性> C/C++>常规>其他包含目录,包含MySQL C++连接器和MySQL连接器C的路径

在此输入图像描述

  • 第三步,转到Project Properties> Linker> General> Additional Libraries Directories添加了MySQL C++连接器的路径

在此输入图像描述

  • 第四,转到Project Properties> Linker> Input> Additional Dependencies添加了mysqlcppcon.lib

在此输入图像描述

毕竟,建立项目,它运行良好!:)

在此输入图像描述