Visual Studio 10 用に MySQL C コネクタ 6.1.0 をビルドしています。次の手順を実行すると、32 ビットで正常にコンパイルされます。
- Visual Studio コマンド プロンプトを起動します (管理者として!)。
- cmake 。-G「ビジュアル スタジオ 10」
- devenv libmysql.sln /build リリース
デバッグ用:
- cmake 。-G "Visual Studio 10" -DCMAKE_BUILD_TYPE=デバッグ
- devenv libmysql.sln /Rebuild デバッグ
しかし、"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"
もう 1 つ注意: ファイル "my_atomic.c" はプロジェクト "mysys" に属し、C コードとしてコンパイルされています ([構成プロパティ] -> [C/C++] -> [詳細設定] の /TC オプション)。
何か案は?