it-swarm.com.de

Die CXX-Compiler-Identifikation ist unbekannt

Beim Kompilieren eines Projekts mit CMake (v2.8.12) unter Windows 7 64Bit mit Visual Studio 2012 treten Probleme auf. CMake gibt die folgenden Fehler an. Wir haben bereits versucht, Cmake mit Administratorrechten über die Visual Studio-Befehlszeile zu starten. In CMake 2.8.11 scheint ein ähnlicher Fehler aufgetreten zu sein: http://www.cmake.org/Bug/view.php?id=14440

CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeDetermineCompilerId.cmake:446 (execute_process):
  execute_process given COMMAND argument with no value.
Call Stack (most recent call first):
  C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeDetermineCompilerId.cmake:48 (CMAKE_DETERMINE_COMPILER_ID_VENDOR)
  C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeDetermineCCompiler.cmake:131 (CMAKE_DETERMINE_COMPILER_ID)
  CMakeLists.txt:2 (project)


The C compiler identification is unknown
CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeDetermineCompilerId.cmake:446 (execute_process):
  execute_process given COMMAND argument with no value.
Call Stack (most recent call first):
  C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeDetermineCompilerId.cmake:48 (CMAKE_DETERMINE_COMPILER_ID_VENDOR)
  C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeDetermineCXXCompiler.cmake:127 (CMAKE_DETERMINE_COMPILER_ID)
  CMakeLists.txt:2 (project)


The CXX compiler identification is unknown
Could NOT find SWIG (missing:  SWIG_EXECUTABLE SWIG_DIR) 
CMake Warning at src/CMakeLists.txt:44 (message):
  SWIG was not found.  You will not be able to compile for C#.


Configuring incomplete, errors occurred!
See also "C:/Users/hci/laser_control/CMakeFiles/CMakeOutput.log".
See also "C:/Users/hci/laser_control/CMakeFiles/CMakeError.log".
17
user3110931

Ich hatte das gleiche Problem und es wurde behoben, dass es als Admin ausgeführt wurde

10
Fuvizzo

Diese Fehlermeldungen 

The C compiler identification is unknown
The CXX compiler identification is unknown

bedeutet, dass CMake einen Compiler gefunden oder angenommen hat, aber es war nicht möglich, ein einfaches Testprogramm zu erstellen. 

Schauen Sie sich CMakeFiles\CMakeError.log an und überprüfen Sie die Fehlermeldung dort:

  1. welchen Compilerpfad/welche Befehlszeile CMake verwendet hat 
  2. was die Fehlermeldung war, die den Compiler aufrief 

    z.B. LINK : fatal error LNK1181: cannot open input file 'kernel32.lib'

Wenn Sie --debug-trycompile zum Aufruf cmake hinzufügen, behält CMake sogar die Dateien bei, die er zum Kompilieren getestet hat (damit Sie die Befehlszeile aus dem Fehlerprotokoll in Ihrer cmd-Shell kopieren/einfügen/erneut ausführen können).

Das letzte Mal hatte ich dieses Problem ...

Das letzte Mal hatte ich dieses Problem, als bei meiner Standardinstallation von Visual Studio 2012 Professional kein Windows SDK installiert wurde (im Fehlerprotokoll wurde ein fehlender SDK-Header angezeigt). 

So überprüfen Sie Ihre SDK-Installation, z. Überprüfen Sie, ob ein Resource Compiler installiert ist. Es sollte auf einem Pfad ähnlich sein:

C:\Program Files (x86)\Microsoft SDKs\Windows\v[some version]\bin\RC.Exe

Da mir dieses - oder genauer jedes SDK - fehlte - habe ich Windows 8.1 SDK installiert (da Visual Studio 2012 Windows 8.x als Ziel hat) und voila mein CMake die (Test-) Programme erneut kompilieren konnte.

Referenz

2
Florian

Ich hatte auch ein ähnliches Problem, wenn Sie Microsoft Visual Studio 2012 verwenden, das möglicherweise aufgrund eines Updates von KB2781514 fehlt.

Nachdem ich nach dem Update installiert habe, kann CMake die C/C++ - Compiler von Visual Studio 2012 richtig erkennen.

http://www.Microsoft.com/de-de/download/details.aspx?id=36020

2
Jifeng Zhang

Ich hatte das gleiche Problem und musste den "File -> Delete Cache" verwenden, da ich CMake versehentlich für die Verwendung einer falschen Visual Studio-Version konfiguriert habe.

0

Ich hatte das gleiche Problem. Das Erstellen und Ausführen eines Projekts aus Visual Studio hat für mich nicht funktioniert. Folgendes hat jedoch für mich gearbeitet:

  • Öffnen Sie die Eingabeaufforderung für Entwickler aus den Visual Studio-Tools.
  • Wechseln Sie in das Verzeichnis, in dem sich cmake.exe befindet.
  • Starte es.

Hoffen wir, dass es auch für Sie funktioniert.

0
Asif Kazmi

Ich stoße gerade auf dieses Problem, nachdem ich einige MS-Software deinstalliert habe. Ich habe es von repair visual studio 2012 behoben. __ Gehen Sie zuerst zu [Systemsteuerung], wählen Sie dann Visual Studio aus und reparieren Sie es .

0
wangdq

Stellen Sie sicher, dass Sie die richtige Version von Visual Studio auswählen. __ Visual Studio 2012 ist beispielsweise Version 11.

0
Rahul Sood

Gleiches Problem hier mit cmake 2.8.12 und Visual Studio 10. Cmake kann den Compiler nicht finden. Ich habe das Problem gelöst, indem ich die neueste Version deinstalliert und cmake 2.8.10 installiert habe.

0
Tonmoy

Wenn Sie CMake 3.4.0 verwenden, versuchen Sie, ein Upgrade auf eine neuere Version durchzuführen. Ein Fehler in dieser Hinsicht wurde erst kürzlich behoben (siehe Fehlerbericht ).

0
Daniel Geier