web-dev-qa-db-ja.com

Windows上のCMake -G忍者はx64を指定します

私は忍者ジェネレーターを備えたWindowsでCMakeを使用しています

cmake -G Ninja ..

これは、デフォルトのWindows x86ツールチェーンを使用します。ニンジャジェネレーターを使用してx64を指定する方法

PS:Visual Studioでx64を生成する方法を知っています

cmake -G "Visual Studio 12 2013 Win64 ..
24
xren

Ninja生成を呼び出す前に、それに応じてコンパイラ環境を設定する必要があります。 Visual Studio 2013が標準のインストールパスにインストールされている場合は、次のように呼び出します。

_"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x64
cmake.exe -G "Ninja" ..
_

Edit:@Antwaneからのヒントをありがとう:「または単にMicrosoft Visual Studio Command Prompt (x64)からCMakeコマンドを実行します。このプロンプトへのショートカットはスタートメニューにあります。」.

名前はVisual Studioのバージョンによって異なります。

enter image description here


次に、生成された_CMakeCache.txt_ファイルを確認すると、次のことがわかります。

_...
//CXX compiler
CMAKE_CXX_COMPILER:FILEPATH=C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin/AMD64/cl.exe
...
//Flags used by the linker.
CMAKE_EXE_LINKER_FLAGS:STRING= /machine:x64
...
//Path to a program.
CMAKE_LINKER:FILEPATH=C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin/AMD64/link.exe
...
_
23
Florian

Windowsでコマンドラインでcmakeを実行しようとし、Ninjaを使用してVisual Studio 14.0コンパイラー(2015)をターゲットにしようとすると、代わりにインストールされている他のコンパイラー(私の場合はgcc)をピックアップし続けました。

次のコマンドラインが機能しました:

cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER="cl.exe" -DCMAKE_CXX_COMPILER="cl.exe" -DMSVC_TOOLSET_VERSION=140 ..
10
techmancer75