gpt4 book ai didi

c++ - MySQL C++ 连接器未解析的外部符号_get_driver_instance

转载 作者:太空宇宙 更新时间:2023-11-04 13:58:47 25 4
gpt4 key购买 nike

我在 Win 8 和 VS 2010 Express 上使用 Connector C++ 1.1.3。

对于我在 Linker->General->Additional Library Directories 中的调试构建,我有:C:\Program Files\MySQL\Connector C++ 1.1.3\lib\debug

在链接器->输入中我有:mysqlcppconn.lib

我收到链接器错误:Server.obj:错误 LNK2019:函数“public:bool __thiscall Server::Init(void)”(?Init@Server@@QAE_NXZ) 中引用了未解析的外部符号 _get_driver_instance

我在其他包含目录中有提升:C:\Users\MyName\Downloads\boost_1_55_0\boost_1_55_0

我假设 get_driver_instance() 是在 mysqlcppconn.lib 中定义的。

 #include <cppconn/driver.h>
#include <cppconn/exception.h>
#include <cppconn/resultset.h>
#include <cppconn/statement.h>

class Server
{
private:
sql::Driver* sqlDriver;
sql::Connection* sqlConn;
public:
bool Init();
};

bool Server::Init()
{
sqlDriver = get_driver_instance();
return true;
}

我知道有很多关于此的主题,但我没有尝试解决它。我没有写下我尝试过的所有东西,因为有很多东西。

最佳答案

我遇到了同样的问题,最终通过切换到“发布”而不是“调试”来解决它。

其他相关问题都通过这个小改动解决了。 (参见 Connection Crash in mysql C++)

我知道您使用 Qt 库解决了这个问题,但我想这可以帮助其他遇到同样问题的人。

编辑:我一直在 mysql 站点 ( http://dev.mysql.com/downloads/connector/cpp/ ) 上做一些研究,它清楚地指出:一个可能发生的问题是,当您用于构建应用程序的工具与用于构建 MySQL Connector/C++ 二进制版本的工具不兼容时。理想情况下,您需要使用用于构建 MySQL 连接器/C++ 二进制文件的相同工具来构建您的应用程序。

到目前为止,我找到的解决方案是以源格式(不是二进制格式)下载库并使用我需要的设置对其进行编译。

关于c++ - MySQL C++ 连接器未解析的外部符号_get_driver_instance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20168138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com