我正在Win 8上使用Connector C ++ 1.1.3和VS 2010 Express。
对于我在Linker中的调试版本 - > General->我有的附加库目录:C:\ Program Files \ MySQL \ Connector C ++ 1.1.3 \ lib \ debug
在链接器中 - >输入我有:mysqlcppconn.lib
我收到链接器错误:Server.obj:错误LNK2019:函数“public:bool __thiscall Server :: Init(void)”中引用了未解析的外部符号_get_driver_instance(?Init @ Server @@ QAE_NXZ)
我增加了额外的包含导演: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;
}
我知道有很多这方面的话题,但我尝试的没有解决它。我没有写过我尝试过的所有东西,因为有很多东西。
答案 0 :(得分:0)
我遇到了同样的问题,最后通过切换到“Release”而不是“Debug”来解决问题。
这一小改动解决了其他相关问题。 (见Connection Crash in mysql C++)
我知道您使用Qt库解决了这个问题,但我想这可以帮助其他陷入困境的人。
编辑: 我一直在对mysql网站(http://dev.mysql.com/downloads/connector/cpp/)进行一些研究,它明确指出: 可能出现的一个问题是,用于构建应用程序的工具与用于构建MySQL Connector / C ++二进制版本的工具不兼容。理想情况下,您需要使用用于构建MySQL Connector / C ++二进制文件的相同工具来构建应用程序。
我到目前为止找到的解决方案是以源格式(非二进制)下载库并使用我需要的设置进行编译。