Nach der Installation von Visual Studio 2015 und dem Ausführen von CMake in einem früheren Projekt werden CMake-Fehler angezeigt, die darauf hinweisen, dass der C-Compiler nicht gefunden werden konnte.
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.
Ich habe cl.exe
im Visual Studio-Ordner nach gesucht C:\Program Files\Microsoft Visual Studio 14.0
und konnte ihn nicht finden.
Wie richte ich CMake für die Arbeit unter Windows mit Visual Studio 2015 ein?
c++
cmake
visual-studio-2015
Asher
quelle
quelle
PATH
nach dem benötigten Programm sucht. Wenn es also nicht aktualisiert wird, kann es den Compiler nicht finden.Antworten:
Ich habe die Lösung gefunden. Während die Visual Studio IDE erfolgreich installiert wurde, wurden keine Build-Tools installiert und daher der C ++ - Compiler nicht installiert.
Durch den Versuch , ein C ++ - Projekt manuell in der GUI von Visual Studio 2015 zu erstellen, konnte ich es auffordern, die C ++ - Pakete herunterzuladen. CMake konnte den Compiler dann problemlos finden.
quelle
Hier ist die Lösung, die für mich funktioniert hat:
Hoffentlich sollte es ohne Probleme laufen.
quelle
cmake ..
von dort aus ausführen . Trotzdem upvoted, weil das Git-Bash-Terminal zum Beispiel nicht automatisch alles auf seinen Weg bringt. Das hat mir geholfen!Ich habe in der Datei CMakeError.log nach einem Fehler gesucht
cannot run 'rc.exe'
Ich habe diese Antwort gesucht und gefunden , um RC.Exe und RcDll.Dll aus dem Microsoft SDKs-Bin in den VC-Bin zu kopieren, und dann hat CMake funktioniert.
Bearbeiten: Die beste Antwort auf eine andere Frage deutet darauf hin, dass es sich um ein PATH-Problem handelt. Es könnte also ausreichen, um sicherzustellen, dass sich der Microsoft SDK-Bin in Ihrem PATH befindet.
quelle
Stellen Sie sicher, dass Sie im Generator die richtige Version von Visual Studio verwenden. Ich habe Visual Studio 15 bei der Installation von Visual Studio 14 falsch ausgewählt.
quelle
Diejenigen, die in Visual Studio 2017 darüber stolpern: Es gibt eine Funktion im Zusammenhang mit CMake, die zusammen mit den entsprechenden Compiler-Toolsets ausgewählt und installiert werden muss. Siehe den Screenshot unten.
quelle
Wenn keine der oben genannten Lösungen funktioniert hat, halten Sie an und führen Sie eine Überprüfung der Gesundheit durch.
Ich wurde mit der falschen
-G <config>
Zeichenfolge verbrannt und es gab mir diesen irreführenden Fehler.Führen Sie zunächst die VS-Eingabeaufforderung und nicht die reguläre Eingabeaufforderung aus. Sie finden es unter
Start Menu -> Visual Studio 2015 -> MSBuild Command Prompt for VS2015
Hier werden alle korrekten Pfade zu VS-Tools usw. eingerichtet.Nun sehen Sie, welche Generatoren von cmake erhältlich sind ...
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". ...
Wählen Sie dann die entsprechende Zeichenfolge mit dem hinzugefügten [Bogen].
mkdir _build cd _build cmake .. -G "Visual Studio 15 Win64"
Das Ausführen von cmake in einem Unterverzeichnis erleichtert das Reinigen, da Sie einfach alles in diesem Verzeichnis löschen können.
Ich habe ein Upgrade auf Visual Studio 15 durchgeführt, aber nicht darauf geachtet und versucht, für 2012 zu generieren.
quelle
Für mich habe ich die
CMakeError.log
Datei überprüft und festgestellt:Dies trotz der Verwendung von Visual Studio 2017 unter Windows 7. Es scheint also, dass CMake versucht, sein Erkennungsprojekt mit dem Windows 8.1 SDK zu erstellen.
Ich habe das Visual Studio-Installationsprogramm verwendet, um diese Komponente hinzuzufügen, und jetzt ist CMake glücklich wie eine Muschel.
quelle
Menü → Visual Studio 2015 → MSBuild-Eingabeaufforderung für Visual Studio 2015. Dann kann CMake finden
cl.exe
.Ändern Sie den oberen Pfad dahin, wo Ihr Windows SDK installiert ist.
CMake kann finden
rc.exe
.CD auf den Weg von
CMakeLists.txt
und tun:Der Parameter after
-G
sollte von CMake abgerufen werden. Verwenden Sie--help
; Sie können den Generator haben oder nicht.quelle
Ich bin auf dasselbe Problem gestoßen und habe es behoben, indem ich die Visual Studio-Installation neu gestartet und die folgende Option aktiviert habe:
Windows and Web Development
/Universal Windows App Development Tools
/Windows 10 SDK
Es enthält die in den meisten Anwendungen verwendeten Standard-C ++ - Header und muss daher häufig auch installiert werden.
quelle
Ich hatte dieses Problem unter Windows 10 bei der Verwendung von Visual Studio 2015 Professional, während Visual Studio 2015 Express funktionierte! Unter Windows 7 funktionierten beide Visual Studio-Versionen.
Neue Projekte, die mit der Visual Studio 2015 Professional IDE erstellt wurden, wurden erfolgreich kompiliert, CMake konnte jedoch die Compiler-Berichterstellung nicht finden:
Ich habe CMake von 3.4.1 auf 3.11.4 aktualisiert und jetzt ist das Problem behoben.
quelle
Wenn Sie mit Visual Studio 2017 arbeiten, benötigen Sie mindestens CMake 3.8!
quelle
Ich hatte ein ähnliches Problem mit dem über CMake generierten Visual Studio 2017-Projekt. Einige der Pakete fehlten bei der Installation von Visual Studio in der Desktop-Entwicklung mit C ++. Siehe Schnappschuss:
Visual Studio 2017-Pakete:
Aktualisieren Sie CMake außerdem auf die neueste Version.
quelle
In meinem Fall gab es einen Umgebungsvariablensatz, der den Grund für diesen Fehler darstellte. Das Problem wurde behoben, nachdem cxx_flags aus den Umgebungsvariablen gelöscht wurden.
quelle
Ich habe dieses Problem mit CMake 3.12.1 nach einem Update von Visual Studio 2017 erhalten. Ich habe CMake einfach erneut ausgeführt und es hat funktioniert.
quelle
In meinem Fall konnte ich sehen,
CMakeError.log
dass CMake das Windows SDK (MSB8003: Could not find WindowsSDKDir variable from the registry
) nicht finden konnte .Die Version kann in der Befehlszeile beim ersten CMake-Lauf angegeben werden mit:
Nachdem ich das eingestellt hatte, bin ich weiter gekommen, aber ich habe später weitere Probleme festgestellt (also gehe ich davon aus, dass meine Umgebung irgendwie durcheinander ist), aber vielleicht hilft es jemandem bei diesem Problem.
quelle
Ein paar Tipps:
Mein Problem war eine Kombination der zuvor genannten: Ich habe die Compiler-Version auf 15 statt 14 gesetzt und musste nach Korrektur den Cache löschen.
Ich habe auch die Visual Studio-Eingabeaufforderung als Administrator gestartet und von dort aus die cmake-gui.exe ausgeführt
Dann funktionierte alles so, wie es sollte.
quelle
In meinem Fall war das Problem, dass das übergeordnete Projekt, das googletest über enthält
wurde definiert als
Irgendwie erkennt CMake nicht
da der C-Compiler nicht im übergeordneten Element festgelegt ist.
Ich habe das Problem mit gelöst
in meiner Hauptdatei
CMakeLists.txt
.quelle
Dies könnte eine weitere Lösung für Benutzer mit der neuesten Windows 10 Creator-Version sein:
Stack - Überlauf Post Fatal error LNK1104: Datei kann nicht geöffnet 'gdi32.lib'
quelle
Keine der vorherigen Lösungen hat bei mir funktioniert. Ich habe jedoch festgestellt, dass das auf meinem Computer erstellte Verzeichnis für Visual Studio 14 war, obwohl ich Visual Studio Version 15 installiert habe (nicht zu verwechseln mit Visual Studio 2015).
Als ich Visual Studio 14 beim Drücken der Konfigurationstaste angegeben habe, hat es funktioniert.
quelle
Ich habe diese Lösung bei Stackoverflow gefunden und arbeite für mich, obwohl ich nicht für andere Lösungen arbeite, wenn Sie ein Windows 10-Betriebssystem haben. Die folgenden Schritte beheben das Problem:
1) Gehen Sie zu C: \ Programme (x86) \ Microsoft SDKs \ Windows \ v7.1A \ Bin
2) Kopieren Sie dann RC.exe und RcDll aus dieser Datei
3) Gehen Sie zu C: \ Programme (x86) \ Microsoft Visual Studio 14.0 \ VC \ bin und fügen Sie die beiden Dateien, die Sie kopiert haben, ein.
das ist alles was ich hoffe es ist hilfreich ...
quelle
Suchen Sie in der Datei Cmakelists.txt nach ARM, wenn Sie C ++ für ARM installieren und vcvarsall.bat für den Ordner ARM bin verwenden möchten.
Es sind diese Pakete:
C ++ Universal Windows Platform für ARM64 "Nicht erforderlich"
Visual C ++ - Compiler und -Bibliotheken für ARM "Nicht erforderlich"
Visual C ++ - Compiler und -Bibliotheken für ARM64 "Sehr wahrscheinlich erforderlich"
Dann könnten die Probleme verschwinden:
Es wurde kein CMAKE_C_COMPILER gefunden.
Es wurde kein CMAKE_CXX_COMPILER gefunden.
Wenn oben Ihr Problem nicht löst?
Optional können Sie die Optionen C und CXX in cmakelists.txt entfernen, indem Sie # vor der Stelle setzen, an der sich die enable_language (C) befindet. Vermeiden Sie die Kompilierung von Android ARM-Prozessoren.
quelle
Behebung durch Hinzufügen der fehlenden Komponente Ändern-> Weiter Hinzufügen wie folgt
quelle
Ich hatte ein ähnliches Problem: Die Visual C ++ - Generatoren waren beim Ausführen nicht einmal auf der Liste
cmake --help
.Ich lief
where cmake
in der Konsole und stellte fest, dass cygwin auch eine eigene cmake.exe- Datei bereitstellt , die verwendet wurde. Das Ändern der Reihenfolge der Verzeichnisse in PATH hat das Problem behoben.quelle
Überprüfen von CMakeErrors.log in CMakeFiles zurückgegeben:
Der Fehler bedeutet, dass die Build-Tools für XP (v140_xp) nicht installiert sind. Um dies zu beheben, habe ich die richtige Funktion im Visual Studio 2019-Installationsprogramm auf der Registerkarte "Einzelkomponenten" installiert:
quelle
Ich hatte dieses Problem mit der CMake-Benutzeroberfläche und der VS 21019 Community Edition. Ich glaube, ich habe CMake möglicherweise vor Visual Studio installiert - sicherlich nach der Aktualisierung von CMake 3.15.2 auf 3.15.3 ist das Problem behoben.
quelle
Überprüfen Sie den Namensordner zu lange oder nicht.
quelle
Weil CMake Ihren Visual Studio-Compiler nicht finden kann. Starten Sie jedes Projekt, das die erforderlichen Compiler herunterlädt, und CMake muss es dann finden können.
quelle