Après avoir installé Visual Studio 2015 et exécuté CMake sur un projet précédent, des erreurs CMake indiquent qu'il n'a pas pu trouver le compilateur C.
The C compiler identification is unknown
The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:4 (PROJECT):
No CMAKE_C_COMPILER could be found.
CMake Error at CMakeLists.txt:4 (PROJECT):
No CMAKE_CXX_COMPILER could be found.
J'ai cherché cl.exe
dans le dossier Visual Studio C:\Program Files\Microsoft Visual Studio 14.0
et je ne l' ai pas trouvé.
Comment configurer CMake pour qu'il fonctionne sur Windows avec Visual Studio 2015?
c++
cmake
visual-studio-2015
Asher
la source
la source
PATH
pour trouver le programme dont il a besoin, donc s'il n'est pas mis à jour, il ne peut pas trouver le compilateur.Réponses:
J'ai trouvé la solution. Bien que l'IDE de Visual Studio soit installé avec succès, il n'a installé aucun outil de génération et n'a donc pas installé le compilateur C ++.
En essayant de créer manuellement un projet C ++ dans l'interface graphique de Visual Studio 2015, j'ai pu l'inviter à télécharger les packages C ++. CMake a alors pu trouver le compilateur sans aucune difficulté.
la source
Voici la solution qui a fonctionné pour moi:
Espérons qu'il devrait fonctionner sans problème.
la source
cmake ..
partir de là. De toute façon voté, car le terminal git-bash par exemple ne met pas automatiquement tout sur son chemin. Cela m'a aidé!J'ai regardé dans le fichier CMakeError.log et j'ai trouvé une erreur sur
cannot run 'rc.exe'
J'ai recherché et trouvé cette réponse pour copier RC.Exe et RcDll.Dll du bac des SDK Microsoft vers le bac VC, puis CMake a fonctionné.
Edit: La première réponse à une autre question suggère qu'il s'agit d'un problème PATH, donc cela pourrait suffire à garantir que le bac du SDK Microsoft est dans votre PATH.
la source
Assurez-vous que vous utilisez la version correcte de Visual Studio dans le générateur. J'avais mal sélectionné Visual Studio 15 lors de l'installation de Visual Studio 14.
la source
Ceux qui trébuchent avec cela sur Visual Studio 2017: il existe une fonctionnalité liée à CMake qui doit être sélectionnée et installée avec les ensembles d'outils du compilateur appropriés. Voir la capture d'écran ci-dessous.
la source
Si aucune des solutions ci-dessus ne fonctionne, arrêtez-vous et effectuez une vérification de cohérence.
J'ai été brûlé en utilisant la mauvaise
-G <config>
chaîne et cela m'a donné cette erreur trompeuse.Tout d'abord, exécutez à partir de l'invite de commande VS et non de l'invite de commande normale. Vous pouvez le trouver dans
Start Menu -> Visual Studio 2015 -> MSBuild Command Prompt for VS2015
Ceci configure tous les chemins corrects vers les outils VS, etc.Maintenant, voyez quels générateurs sont disponibles chez cmake ...
cmake -help
...<snip>... The following generators are available on this platform: Visual Studio 15 [arch] = Generates Visual Studio 15 project files. Optional [arch] can be "Win64" or "ARM". Visual Studio 14 2015 [arch] = Generates Visual Studio 2015 project files. Optional [arch] can be "Win64" or "ARM". Visual Studio 12 2013 [arch] = Generates Visual Studio 2013 project files. Optional [arch] can be "Win64" or "ARM". Visual Studio 11 2012 [arch] = Generates Visual Studio 2012 project files. Optional [arch] can be "Win64" or "ARM". Visual Studio 10 2010 [arch] = Generates Visual Studio 2010 project files. Optional [arch] can be "Win64" or "IA64". ...
Ensuite, choisissez la chaîne appropriée avec le [arch] ajouté.
mkdir _build cd _build cmake .. -G "Visual Studio 15 Win64"
Exécuter cmake dans un sous-répertoire facilite le «nettoyage» puisque vous pouvez simplement supprimer tout ce qui se trouve dans ce répertoire.
J'ai mis à niveau vers Visual Studio 15 mais je n'y prêtais pas attention et j'essayais de générer pour 2012.
la source
Pour moi, j'ai vérifié le
CMakeError.log
fichier et j'ai trouvé:Ceci malgré l'utilisation de Visual Studio 2017 sur Windows 7. Il semble donc que CMake tente de créer son projet de détection avec le SDK Windows 8.1.
J'ai utilisé le programme d'installation de Visual Studio pour ajouter ce composant et maintenant CMake est heureux comme une palourde.
la source
Menu → Visual Studio 2015 → Invite de commandes MSBuild pour Visual Studio 2015. Ensuite, CMake peut trouver
cl.exe
.Modifiez le chemin d'accès supérieur vers l'emplacement d'installation de votre SDK Windows.
CMake peut trouver
rc.exe
.cd sur le chemin de
CMakeLists.txt
et faites:Le paramètre après
-G
doit être récupéré par CMake. Utiliser--help
; vous pouvez ou non avoir le générateur.la source
J'ai rencontré le même problème et je l'ai résolu en relançant l'installation de Visual Studio et en cochant l'option suivante:
Windows and Web Development
/Universal Windows App Development Tools
/Windows 10 SDK
Il contient les en-têtes C ++ standard utilisés dans la plupart des applications et il est donc souvent nécessaire de l'installer également.
la source
J'ai eu ce problème sous Windows 10 lors de l'utilisation de Visual Studio 2015 Professionnel, alors que Visual Studio 2015 Express fonctionnait! Sous Windows 7, les deux versions de Visual Studio fonctionnaient.
Les nouveaux projets créés à partir de l'IDE Visual Studio 2015 Professional se compilent avec succès, mais CMake ne parvient pas à trouver le rapport du compilateur:
J'ai mis à niveau CMake de 3.4.1 à 3.11.4, et maintenant le problème a disparu.
la source
Si vous utilisez Visual Studio 2017, vous avez besoin d'au moins CMake 3.8!
la source
J'ai eu un problème similaire avec le projet Visual Studio 2017 généré via CMake. Certains des packages étaient manquants lors de l'installation de Visual Studio dans le développement de bureau avec C ++. Voir l'instantané:
Packages Visual Studio 2017:
Mettez également à niveau CMake vers la dernière version.
la source
Dans mon cas, il y avait un ensemble de variables d'environnement qui était la raison de cette erreur. Le problème a été résolu après la suppression de cxx_flags des variables d'environnement.
la source
J'ai eu ce problème avec CMake 3.12.1, après une mise à jour de Visual Studio 2017. J'ai simplement relancé CMake et cela a fonctionné.
la source
Dans mon cas, je pouvais voir dans le
CMakeError.log
que CMake ne pouvait pas trouver le SDK Windows (MSB8003: Could not find WindowsSDKDir variable from the registry
).La version peut être spécifiée sur la ligne de commande lors de la première exécution de CMake en utilisant:
Je suis allé plus loin après avoir défini cela, mais j'ai rencontré plus de problèmes plus tard (donc je suppose que mon environnement est en quelque sorte perturbé), mais cela aidera peut-être quelqu'un à résoudre ce problème.
la source
Quelques conseils:
Mon problème était une combinaison des énoncés précédemment: j'ai défini la version du compilateur sur 15 au lieu de 14 et une fois corrigée, j'ai dû supprimer le cache.
J'ai également démarré l'invite de commande Visual Studio en tant qu'administrateur et à partir de là, j'ai exécuté cmake-gui.exe
Ensuite, tout a fonctionné comme prévu.
la source
Dans mon cas, le problème était que le projet parent, qui inclut googletest via
a été défini comme
D'une manière ou d'une autre, CMake ne reconnaît pas
puisque le compilateur C n'est pas défini dans le parent.
J'ai résolu le problème en utilisant
dans mon
CMakeLists.txt
dossier principal .la source
Cela pourrait être une autre solution pour ceux qui ont la dernière version de créateur de Windows 10:
Stack Overflow après erreur fatale LNK1104: ne peut pas ouvrir le fichier « gdi32.lib »
la source
Aucune des solutions précédentes n'a fonctionné pour moi. Cependant, j'ai remarqué que bien que j'aie installé Visual Studio version 15 (à ne pas confondre avec Visual Studio 2015), le répertoire créé sur mon ordinateur était pour Visual Studio 14.
Lorsque j'ai spécifié Visual Studio 14 lorsque j'ai appuyé sur le bouton de configuration, cela fonctionnait.
la source
J'ai trouvé cette solution à stackoverflow et je travaille pour moi bien que je ne travaille pas avec d'autres solutions si vous avez un système d'exploitation Windows 10, les étapes suivantes résoudront le problème:
1) allez dans C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.1A \ Bin
2) puis copiez RC.exe et RcDll à partir de ce fichier
3) allez dans C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ bin et collez-y les deux fichiers que vous avez copiés.
c'est tout ce que j'espère que c'est utile ...
la source
Regardez dans le Cmakelists.txt si vous trouvez ARM, vous devez installer C ++ pour ARM et ainsi vcvarsall.bat utiliser pour le dossier ARM bin.
Ce sont ces packages:
Plateforme Windows universelle C ++ pour ARM64 "Non requise"
Compilateurs et bibliothèques Visual C ++ pour ARM «non requis»
Compilateurs et bibliothèques Visual C ++ pour ARM64 "Très probablement requis"
Ensuite, les problèmes pourraient disparaître:
Aucun CMAKE_C_COMPILER n'a pu être trouvé.
Aucun CMAKE_CXX_COMPILER n'a pu être trouvé.
Si ci-dessus ne résout pas votre problème?
Vous pouvez éventuellement supprimer les options C et CXX dans cmakelists.txt en définissant # en face de l'emplacement de enable_language (C). Et évitez la compilation du processeur Android ARM.
la source
Résolu en ajoutant le composant manquant Modifier-> continuer d'ajouter comme suit
la source
J'ai eu un problème lié: les générateurs Visual C ++ n'étaient même pas sur la liste lors de l'exécution
cmake --help
.J'ai couru
where cmake
dans la console et j'ai trouvé que cygwin fournit également son propre fichier cmake.exe , qui était utilisé. La modification de l'ordre des répertoires dans PATH a résolu le problème.la source
La vérification de CMakeErrors.log dans CMakeFiles a renvoyé:
L'erreur signifie que les outils de génération pour XP (v140_xp) ne sont pas installés. Pour résoudre ce problème, j'ai installé la fonctionnalité appropriée dans le programme d'installation de Visual Studio 2019 sous l'onglet Composants individuels:
la source
J'ai eu ce problème avec l'interface graphique CMake et l'édition communautaire VS 21019. Je pense que j'ai peut-être installé CMake avant Visual Studio - certainement après la mise à jour de CMake 3.15.2 à 3.15.3, le problème a disparu.
la source
Vérifiez le dossier de noms trop longtemps ou non.
la source
Parce que CMake ne parvient pas à trouver votre compilateur Visual Studio. Démarrez n'importe quel projet qui téléchargera les compilateurs requis et CMake doit alors pouvoir le trouver.
la source