它似乎是一个PITA来获得我想要的:在Windows x64机器上运行的MySQL连接器/ C++。如何在Windows x64机器上使用VS 2010构建MySQL连接器C++?
我已经尝试过:
- 我第一次尝试在MySQL的下载网站,在这里我不得不添加一些其他地方丢失的包括文件(sqlstring.h)的二进制包(见here)
- 然后我的测试代码编译,但没有运行,因为一个libmysql.dll丢失(再次没有包含在二进制包)
- 我发现Connector/C包包含此dll,所以我把它从那里。现在,我的连接器工作正常...在调试模式下。但当我处于发布模式时,会发生奇怪的事情。有时应用程序在尝试连接时退出时没有任何警告。有时它会告诉我,我的简单语句(
SELECT * FROM sometable
)中有一个SQL语法错误,它在调试模式下正常工作。 - 然后我发现here从源代码构建连接器比较合适,所以我试了一下。 C++连接器需要C连接器,并且在遇到一些麻烦(由于此bug,我必须修补CMakeFile.txt),我设法构建了C连接器。
- 我也设法用CMake为C++连接器生成VS解决方案,但现在我卡住了。由于一些缺少的包含文件导致构建错误太多......我不知道它是我的CMake配置,还是它不适用于VS2010或者它只是bug。
在Win x64机器上使用MySQL C++连接器(使用VS2010构建的)是否很不寻常? 必须有一个更简单的方法来让它工作,对吧?
我很感激任何提示。
UPDATE
我想我应该在我的构建错误更精确:
首先,我加入
<path_to_mysql_connector_cpp_build>
<path_to_mysql_connector_cpp_build>\cppconn
<path_to_mysql_connector_cpp_build>\driver\nativeapi
到mysqlcppconn
和mysqlcppconn-static
项目包括目录,以便找到config.h
,cppconn/config.h
和driver/nativeapi/binding_config.h
包括文件。
但现在,一些my_global.h
文件丢失,我无法找到它。它似乎在MySQL服务器的包含文件中,但我认为连接器不需要服务器。
我刚刚发现了一条评论here,指出C++连接器与VS2010尚未兼容(即2011年10月)。
那么,如果从MySQL下载站点预建的二进制文件无法正常工作,我该怎么办?
这里完全一样的东西,我的代码在调试下运行,但连接器无法连接在释放下,该死的东西,我已经花了整整一天了!没有解决方案,Oracle不关心,释放我的SQL,0支持... – 2013-03-05 18:37:21