2012-02-13 18 views
3

它似乎是一个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 

mysqlcppconnmysqlcppconn-static项目包括目录,以便找到config.hcppconn/config.hdriver/nativeapi/binding_config.h包括文件。

但现在,一些my_global.h文件丢失,我无法找到它。它似乎在MySQL服务器的包含文件中,但我认为连接器不需要服务器。

我刚刚发现了一条评论here,指出C++连接器与VS2010尚未兼容(即2011年10月)。

那么,如果从MySQL下载站点预建的二进制文件无法正常工作,我该怎么办?

+0

这里完全一样的东西,我的代码在调试下运行,但连接器无法连接在释放下,该死的东西,我已经花了整整一天了!没有解决方案,Oracle不关心,释放我的SQL,0支持... – 2013-03-05 18:37:21

回答

1

我结束了使用MySQL连接器/ C和编写我自己的C++包装。 现在它非常简单,并且遗漏了很多功能,但每次我必须使用它时都会添加功能。

反正我不太喜欢MySQL Connector/C++,因为它没有以RAII风格编程。

+0

你自己也建立连接器/ C吗? – 2013-12-05 10:01:36

相关问题