如何在Windows x64机器上使用VS 2010构建MySQL连接器c ++?

时间:2012-02-13 19:19:56

标签: c++ mysql visual-studio-2010 windows-7-x64 mysql-connector

似乎是PITA可以得到我想要的东西:在Windows x64机器上运行MySQL Connector / 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不兼容,或者它是否只是错误。

在Win x64计算机上使用MySQL C ++连接器(使用VS2010构建)是否如此不寻常? 必须有一种更简单的方法让它运转起来,对吧?

我会感激任何提示。

更新

我认为我应该更准确地解决构建错误:

首先,我添加了

<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下载站点的预建二进制文件无法正常工作,我该怎么办?

1 个答案:

答案 0 :(得分:1)

我最终使用了MySQL Connector / C并编写了自己的C ++包装器。 目前它非常简单并且错过了许多功能,但每次我必须使用它时我都会添加功能。

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