web-dev-qa-db-fra.com

CMake -G Ninja sur Windows spécifie x64

J'utilise CMake sur Windows avec un générateur Ninja

cmake -G Ninja ..

Cela utilise la chaîne d'outils Windows x86 par défaut. Comment spécifier x64 en utilisant le générateur Ninja?

PS: je sais comment générer x64 avec Visual Studio

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

Vous devez définir l'environnement du compilateur en conséquence avant d'appeler la génération Ninja. Si Visual Studio 2013 est installé sur le chemin d'installation standard que vous appelez:

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

Edit : Merci pour le conseil de @Antwane: "Ou exécutez simplement la commande CMake à partir d'une Microsoft Visual Studio Command Prompt (x64). Un raccourci vers cette invite est situé dans le menu Démarrer ".

La dénomination varie selon les versions de Visual Studio:

enter image description here


Lorsque je regarde ensuite le fichier CMakeCache.txt Généré, je vois:

...
//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

Lorsque j'ai essayé d'exécuter cmake sur la ligne de commande sous Windows, en essayant d'utiliser Ninja et en ciblant le compilateur Visual Studio 14.0 (2015), il a continué à reprendre les autres compilateurs installés (dans mon cas gcc) à la place.

La ligne de commande suivante a fonctionné:

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