Tom*_*ler 3 c++ mysql cmake mysql-connector visual-studio
我正在尝试在 Windows / Visual Studio 2015 上编译 MySQL Connector C++。我根据官方说明使用 CMake 生成了项目文件,效果很好。现在,当我尝试编译解决方案时,出现以下链接器错误:
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_server_init@12 referenced in function "public: virtual int __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::library_init(int,char * *,char * *)" (?library_init@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEHHPAPAD0@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_server_end@0 referenced in function "public: virtual void __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::library_end(void)" (?library_end@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEXXZ)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_thread_init@0 referenced in function "public: virtual void __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::thread_init(void)" (?thread_init@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEXXZ)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_thread_end@0 referenced in function "public: virtual void __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::thread_end(void)" (?thread_end@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEXXZ)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_num_rows@4 referenced in function "public: virtual unsigned __int64 __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::num_rows(struct st_mysql_res *)" (?num_rows@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAE_KPAUst_mysql_res@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_num_fields@4 referenced in function "public: virtual unsigned int __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::num_fields(struct st_mysql_res *)" (?num_fields@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEIPAUst_mysql_res@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_fetch_field_direct@8 referenced in function "public: virtual struct st_mysql_field * __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::fetch_field_direct(struct st_mysql_res *,unsigned int)" (?fetch_field_direct@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEPAUst_mysql_field@@PAUst_mysql_res@@I@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_field_count@4 referenced in function "public: virtual unsigned int __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::field_count(struct st_mysql *)" (?field_count@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEIPAUst_mysql@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_affected_rows@4 referenced in function "public: virtual unsigned __int64 __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::affected_rows(struct st_mysql *)" (?affected_rows@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAE_KPAUst_mysql@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_errno@4 referenced in function "public: virtual unsigned int __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::mysql_errno(struct st_mysql *)" (?mysql_errno@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEIPAUst_mysql@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_error@4 referenced in function "public: virtual char const * __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::error(struct st_mysql *)" (?error@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEPBDPAUst_mysql@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_sqlstate@4 referenced in function "public: virtual char const * __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::sqlstate(struct st_mysql *)" (?sqlstate@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEPBDPAUst_mysql@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_warning_count@4 referenced in function "public: virtual unsigned int __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::warning_count(struct st_mysql *)" (?warning_count@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEIPAUst_mysql@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_info@4 referenced in function "public: virtual char const * __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::info(struct st_mysql *)" (?info@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEPBDPAUst_mysql@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_init@4 referenced in function "public: virtual struct st_mysql * __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::init(struct st_mysql *)" (?init@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEPAUst_mysql@@PAU5@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_ssl_set@24 referenced in function "public: virtual char __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::ssl_set(struct st_mysql *,char const *,char const *,char const *,char const *,char const *)" (?ssl_set@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEDPAUst_mysql@@PBD1111@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_real_connect@32 referenced in function "public: virtual struct st_mysql * __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::real_connect(struct st_mysql *,char const *,char const *,char const *,char const *,unsigned int,char const *,unsigned long)" (?real_connect@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEPAUst_mysql@@PAU5@PBD111I1K@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_query@8 referenced in function "public: virtual int __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::query(struct st_mysql *,char const *)" (?query@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEHPAUst_mysql@@PBD@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_real_query@12 referenced in function "public: virtual int __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::real_query(struct st_mysql *,char const *,unsigned long)" (?real_query@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEHPAUst_mysql@@PBDK@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_store_result@4 referenced in function "public: virtual struct st_mysql_res * __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::store_result(struct st_mysql *)" (?store_result@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEPAUst_mysql_res@@PAUst_mysql@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_use_result@4 referenced in function "public: virtual struct st_mysql_res * __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::use_result(struct st_mysql *)" (?use_result@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEPAUst_mysql_res@@PAUst_mysql@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_get_character_set_info@8 referenced in function "public: virtual void __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::get_character_set_info(struct st_mysql *,void *)" (?get_character_set_info@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEXPAUst_mysql@@PAX@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_ping@4 referenced in function "public: virtual int __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::ping(struct st_mysql *)" (?ping@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEHPAUst_mysql@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_get_server_info@4 referenced in function "public: virtual char const * __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::get_server_info(struct st_mysql *)" (?get_server_info@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEPBDPAUst_mysql@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_get_client_version@0 referenced in function "public: virtual unsigned long __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::get_client_version(void)" (?get_client_version@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEKXZ)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_get_server_version@4 referenced in function "public: virtual unsigned long __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::get_server_version(struct st_mysql *)" (?get_server_version@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEKPAUst_mysql@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_options@12 referenced in function "public: virtual int __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::options(struct st_mysql *,enum mysql_option,void const *)" (?options@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEHPAUst_mysql@@W4mysql_option@@PBX@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_options4@16 referenced in function "public: virtual int __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::options(struct st_mysql *,enum mysql_option,void const *,void const *)" (?options@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEHPAUst_mysql@@W4mysql_option@@PBX2@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_get_option@12 referenced in function "public: virtual int __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::get_option(struct st_mysql *,enum mysql_option,void const *)" (?get_option@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEHPAUst_mysql@@W4mysql_option@@PBX@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_free_result@4 referenced in function "public: virtual void __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::free_result(struct st_mysql_res *)" (?free_result@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEXPAUst_mysql_res@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_data_seek@12 referenced in function "public: virtual void __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::data_seek(struct st_mysql_res *,unsigned __int64)" (?data_seek@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEXPAUst_mysql_res@@_K@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_fetch_row@4 referenced in function "public: virtual char * * __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::fetch_row(struct st_mysql_res *)" (?fetch_row@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEPAPADPAUst_mysql_res@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_fetch_lengths@4 referenced in function "public: virtual unsigned long * __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::fetch_lengths(struct st_mysql_res *)" (?fetch_lengths@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEPAKPAUst_mysql_res@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_fetch_field@4 referenced in function "public: virtual struct st_mysql_field * __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::fetch_field(struct st_mysql_res *)" (?fetch_field@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEPAUst_mysql_field@@PAUst_mysql_res@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_real_escape_string@16 referenced in function "public: virtual unsigned long __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::real_escape_string(struct st_mysql *,char *,char const *,unsigned long)" (?real_escape_string@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEKPAUst_mysql@@PADPBDK@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_debug@4 referenced in function "public: virtual void __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::debug(char const *)" (?debug@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEXPBD@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_stmt_init@4 referenced in function "public: virtual struct st_mysql_stmt * __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::stmt_init(struct st_mysql *)" (?stmt_init@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEPAUst_mysql_stmt@@PAUst_mysql@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_stmt_prepare@12 referenced in function "public: virtual int __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::stmt_prepare(struct st_mysql_stmt *,char const *,unsigned long)" (?stmt_prepare@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEHPAUst_mysql_stmt@@PBDK@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_stmt_execute@4 referenced in function "public: virtual int __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::stmt_execute(struct st_mysql_stmt *)" (?stmt_execute@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEHPAUst_mysql_stmt@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_stmt_fetch@4 referenced in function "public: virtual int __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::stmt_fetch(struct st_mysql_stmt *)" (?stmt_fetch@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEHPAUst_mysql_stmt@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_stmt_store_result@4 referenced in function "public: virtual int __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::stmt_store_result(struct st_mysql_stmt *)" (?stmt_store_result@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEHPAUst_mysql_stmt@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_stmt_param_count@4 referenced in function "public: virtual unsigned long __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::stmt_param_count(struct st_mysql_stmt *)" (?stmt_param_count@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEKPAUst_mysql_stmt@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_stmt_attr_set@12 referenced in function "public: virtual char __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::stmt_attr_set(struct st_mysql_stmt *,enum enum_stmt_attr_type,void const *)" (?stmt_attr_set@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEDPAUst_mysql_stmt@@W4enum_stmt_attr_type@@PBX@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_stmt_bind_param@8 referenced in function "public: virtual char __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::stmt_bind_param(struct st_mysql_stmt *,struct st_mysql_bind *)" (?stmt_bind_param@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEDPAUst_mysql_stmt@@PAUst_mysql_bind@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_stmt_bind_result@8 referenced in function "public: virtual char __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::stmt_bind_result(struct st_mysql_stmt *,struct st_mysql_bind *)" (?stmt_bind_result@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEDPAUst_mysql_stmt@@PAUst_mysql_bind@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_stmt_close@4 referenced in function "public: virtual char __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::stmt_close(struct st_mysql_stmt *)" (?stmt_close@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEDPAUst_mysql_stmt@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_stmt_free_result@4 referenced in function "public: virtual bool __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::stmt_free_result(struct st_mysql_stmt *)" (?stmt_free_result@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAE_NPAUst_mysql_stmt@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_stmt_send_long_data@16 referenced in function "public: virtual char __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::stmt_send_long_data(struct st_mysql_stmt *,unsigned int,char const *,unsigned long)" (?stmt_send_long_data@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEDPAUst_mysql_stmt@@IPBDK@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_stmt_result_metadata@4 referenced in function "public: virtual struct st_mysql_res * __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::stmt_result_metadata(struct st_mysql_stmt *)" (?stmt_result_metadata@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEPAUst_mysql_res@@PAUst_mysql_stmt@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_stmt_errno@4 referenced in function "public: virtual unsigned int __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::stmt_errno(struct st_mysql_stmt *)" (?stmt_errno@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEIPAUst_mysql_stmt@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_stmt_error@4 referenced in function "public: virtual char const * __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::stmt_error(struct st_mysql_stmt *)" (?stmt_error@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEPBDPAUst_mysql_stmt@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_stmt_sqlstate@4 referenced in function "public: virtual char const * __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::stmt_sqlstate(struct st_mysql_stmt *)" (?stmt_sqlstate@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEPBDPAUst_mysql_stmt@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_stmt_data_seek@12 referenced in function "public: virtual void __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::stmt_data_seek(struct st_mysql_stmt *,unsigned __int64)" (?stmt_data_seek@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEXPAUst_mysql_stmt@@_K@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_stmt_num_rows@4 referenced in function "public: virtual unsigned __int64 __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::stmt_num_rows(struct st_mysql_stmt *)" (?stmt_num_rows@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAE_KPAUst_mysql_stmt@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_stmt_affected_rows@4 referenced in function "public: virtual unsigned __int64 __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::stmt_affected_rows(struct st_mysql_stmt *)" (?stmt_affected_rows@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAE_KPAUst_mysql_stmt@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_stmt_field_count@4 referenced in function "public: virtual unsigned int __thiscall sql::mysql::NativeAPI::LibmysqlStaticProxy::stmt_field_count(struct st_mysql_stmt *)" (?stmt_field_count@LibmysqlStaticProxy@NativeAPI@mysql@sql@@UAEIPAUst_mysql_stmt@@@Z)
5>mysqlcppconn-static.lib(mysql_client_api.obj) : error LNK2019: unresolved external symbol _mysql_commit@4 referenced in function "public: virtual char __th
经过几天的搜索和测试,我发现了问题所在。我很惊讶地发现这种情况从 2017 年甚至更早开始就一直在发生。
问题:
MySQL 网站上的文档令人困惑、过时且无用。
如果您正在下载最新的mysql-connector-c++-8.0.13-winx64.zip ,您将找到mysqlcppconn-static.lib库,该库大小为 64+ MB。您可以在项目中使用它,但是您还需要 .dll,并且它仅在发布版本中构建。
如果您想编译自己的连接器,只要您有“正确”的命令就可以这样做。您可以构建 x64 的静态调试版本以在您的应用程序中工作,并且不需要 .dll。
但是,根据发布的OP,您将遇到上述错误。问题是您需要手动链接mysqlclient.lib。在哪里可以找到它?因为在他们的下载页面中他们说:“Windows:客户端实用程序包可从 Windows 安装程序获得。” 这是错误的。哪有这回事。
您必须做的是转到:MySQL Connector/C(存档版本)并下载mysql-connector-c-6.1.11-winx64-debug.zip。一旦你有了这个,你就可以将它们链接到你的项目中:
#pragma comment(lib, "mysqlcppconn-static.lib")
#pragma comment(lib, "mysqlclient.lib") // mysql-connector-c-6.1.11-winx64\lib\vs14\debug
Run Code Online (Sandbox Code Playgroud)
您的项目将在 Debug x64 和 VS2017 下编译并正常工作(就我而言)。
更多问题:
注意到我在哪里提到 Oracle 提供的 mysqlcppconn-static.lib 有 64+MB 吗?我之所以这么说是因为当你/我们构建自己的 mysql 连接器时,该库将只有大约 16 MB。
是的,Oracle 以某种方式链接了 1 个库中的所有内容。然而它是无用的,因为它处于发布状态并使用多线程 DLL (/MD)构建,因此如果您在调试模式下处理应用程序,它将无法编译,或者您将无法调试任何内容。
更多问题:
现在我们知道了如何在 x64 和 DEBUG 下构建这个 MySQL Connector,它仍然只能在多线程调试 DLL (/MDd)下工作。所以基本上你不能在 /MT 或 /MTd 下构建这个/你的应用程序。
构建当前 MySQL 连接器(他们称之为 JDBC)的步骤:
运行此命令(假设您需要静态调试):
cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_BUILD_TYPE=调试 -DBUILD_STATIC=true -DBUNDLE_DEPENDENCIES=ON -DSTATIC_MSVCRT=OFF -DWITH_JDBC=ON
完成后,通过mysql-connector-cpp-master\jdbc中的资源管理器,您将看到MYSQLCPPCONN.sln
从那里构建解决方案,您将在 mysql-connector-cpp-master\jdbc\driver\Debug中找到该库
现在就这些了,我希望我解决这个“谜团”的努力能够帮助别人。我真诚地希望 Oracle 开发人员能够醒悟并正确创建解决方案和文档,因为我们已经进入 2019 年了。
| 归档时间: |
|
| 查看次数: |
1194 次 |
| 最近记录: |