3

私はVS開発とCmakeが初めてです。CMake-GUI を使用してビジュアル スタジオ ソリューションを生成し、正常にビルドできました。

ただし、コードは最終的にビルドしてバイナリにリンクできる段階に達しました。複数の人がコードをチェックインするので、ナイトリー ビルドを行いたいので、このためのバッチ ファイルを作成することを考えていました。

ただし、コマンド ラインから cmake を呼び出そうとしていますが、問題が発生しています。

cmake-gui では、構成するために、2 つの値を指定します ソース コードのパス バイナリが生成されるパス

ただし、コマンドラインで同じことを実行しようとすると(次のコマンドを使用)

cmake -G "NMake Makefiles" -D CMAKE_SOURCE_DIR="D:\source_code" -D CMAKE_BINARY_DIR="D:\source_code\build\gen\host"

CMake がエラーをスローします: ソース ディレクトリ "D:\" は、ディレクトリではなくファイルです。

次のバリエーションも試しましたが、運がありませんでした

cmake -G "NMake Makefiles" -D PROJECT_SOURCE_DIR="D:\source_code" -D PROJECT_BINARY_DIR="D:\source_code\build\gen

誰かが正しい構文を教えてください。

前もって感謝します

4

3 に答える 3

3

コマンドラインでこれらの変数を設定しようとしないでください。それらは、CMakeLists.txt を初めて読み取るときに、CMake によって自動的に設定されます。

代わりに、バイナリ ディレクトリ内から CMake コマンドを実行し、最上位の CMakeLists.txt を含むディレクトリへのパスを渡す必要があります。次のようなものです:

cd D:\source_code\build\gen\host
cmake -G"NMake Makefiles" D:\source_code

ところで、CMake のコマンド ライン解析はうまくいきません (たとえば、この回答を参照してください)。-D引数の後にスペースを残さないようにすることをお勧めします。

于 2013-10-24T13:19:06.350 に答える
1

これを試して

-D とパラメーターの間のスペースを削除します

 cmake -G "NMake Makefiles" -DCMAKE_SOURCE_DIR="D:\source_code" -DCMAKE_BINARY_DIR="D:\source_code\build\gen\host"
于 2015-08-27T06:03:09.040 に答える