0

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

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

对于调试:

  • 制作。-G "Visual Studio 10" -DCMAKE_BUILD_TYPE=调试
  • devenv libmysql.sln /重建调试

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

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代码(配置属性->C/C++->高级下的/TC选项。

有任何想法吗?

4

1 回答 1

0

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

于 2013-07-08T08:02:29.680 回答