J’essaie d’exécuter CMake sous Windows et j’obtiens le message d’erreur suivant:
-- The C comstackr identification is unknown CMake Error at CMakeLists.txt:3 (PROJECT): The CMAKE_C_COMPILER: cl is not a full path and was not found in the PATH. To use the NMake generator with Visual C++, cmake must be run from a shell that can use the comstackr cl from the command line. This environment is unable to invoke the cl comstackr. To fix this problem, run cmake from the Visual Studio Command Prompt (vcvarsall.bat). Tell CMake where to find the comstackr by setting either the environment variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to the comstackr, or to the comstackr name if it is in the PATH.
Cependant, ma variable d’environnement “CC” est définie!
>>echo %CC% C:\Anaconda2\MinGW\x86_64-w64-mingw32\bin\gcc.exe
Parce que le message d’erreur de CMake est trompeur ici, je pense qu’il mérite une réponse un peu plus détaillée.
En bref, vous avez rencontré un problème de type œuf et poule .
La détection du compilateur de CMake est puissante, mais depuis – lors du premier essai –
-G
PATH
CC
définie avec le chemin complet du compilateur Il était par défaut de nmake
.
Maintenant, voici le problème: il se souvient de votre choix implicite de générateur / compilateur dans son cache de variables (voir CMAKE_GENERATOR
dans CMakeCache.txt
). Quelle est une fonctionnalité très utile, si vous avez plusieurs compilateurs installés.
Mais si vous déclarez ensuite la variable d’environnement CC
– comme le suggère le message d’erreur -, il est trop tard car le choix de votre générateur a été mémorisé lors du premier essai.
Je vois deux solutions possibles:
cmake.exe -G "MinGW Makefiles" ..
(comme le suggère la réponse liée par @Guillaume) CMakeCache.txt
) et cmake.exe ..
après avoir ajouté le dossier bin
votre compilateur à votre environnement PATH
. Références
Comment votre cmake a-t-il été installé? Si vous l’avez installé à l’aide de cygwin, essayez maintenant la dernière version Windows sur le site officiel de cmake et définissez la variable PATH pour vous assurer que la version correcte de cmake est utilisée. Cela a fonctionné pour moi, j’espère que cela vous aidera aussi.