从源代码构建MySQL连接器时编译错误

时间:2013-07-04 09:35:28

标签: mysql visual-studio-2010 64-bit

我正在为我的Visual Studio 10构建MySQL C连接器6.1.0。在执行以下步骤后,它可以正常编译为32位:

  • 启动Visual Studio命令提示符(以管理员身份!)。
  • cmake。 -G“Visual Studio 10”
  • devenv libmysql.sln / build Release

用于调试:

  • cmake。 -G“Visual Studio 10”-DCMAKE_BUILD_TYPE = Debug
  • devenv libmysql.sln / Rebuild Debug

但是,如果我尝试使用“cmake.-G”为64位架构构建它,Visual Studio 10 Win64“编译器会触发错误:

11>my_atomic.c(30): error C2118: negative subscript

以下代码行:

  compile_time_assert(sizeof(intptr) == sizeof(void *));

我的直觉表明,编译器没有为64位编译它。试图将这些参数传递给cmake没有帮助:

cmake . -G "Visual Studio 10 Win64" -DCMAKE_C_FLAGS="-m64" -DCMAKE_CXX_FLAGS="-m64"

还有一句话:文件“my_atomic.c”属于项目“mysys”,它被编译为C代码(配置属性下的/ TC选项 - > C / C ++ - >高级。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我自己的错:对于64位必须运行Visual Studio x64 Win64命令提示符!