2015-04-26 11 views
7

Ich versuche CLion auf Windows 7 mit MinGW zu starten, aber aus irgendeinem Grund kann CMake ' t kompiliere das einfache Testprogramm, aber wenn ich eine einfache Hallo-Welt-Datei erstelle kompiliert es gut, wenn ich den Compiler direkt anstelle von CMake aufrufen.CLion: Fehler: Der C-Compiler "C: /MinGW/bin/gcc.exe" kann kein einfaches Testprogramm kompilieren

Ich habe bereits mehrere Versionen von MinGW ausprobiert, aber es macht keinen Unterschied auf den Fehler. Ich habe sogar meinen AV deinstalliert, um zu sehen, ob das das Problem war, aber wieder einmal hat sich nichts geändert.

Ich habe MinGW in meinem Pfad und CMake auch. Zuerst dachte ich, es sei vielleicht ein Problem mit den Berechtigungen für den TEMP-Ordner, aber sie scheinen alle in Ordnung zu sein. Ich bin auch auf einem Administratorkonto.

Dies ist der Fehler, den ich in CLION erhalten:

Error:The C compiler "C:/MinGW/bin/gcc.exe" is not able to compile a simple test program. 
It fails with the following output: 
Change Dir: C:/Users/Jim/.clion10/system/cmake/generated/4cb6a70c/4cb6a70c/__default__/CMakeFiles/CMakeTmp 
Run Build Command:"C:/MinGW/bin/mingw32-make.exe" "cmTryCompileExec141319549/fast" 
C:/MinGW/bin/mingw32-make.exe -f CMakeFiles\cmTryCompileExec141319549.dir\build.make CMakeFiles/cmTryCompileExec141319549.dir/build 
mingw32-make.exe[1]: Entering directory 'C:/Users/Jim/.clion10/system/cmake/generated/4cb6a70c/4cb6a70c/__default__/CMakeFiles/CMakeTmp' 
"C:\Program Files (x86)\JetBrains\CLion 1.0\bin\cmake\bin\cmake.exe" -E cmake_progress_report C:\Users\Jim\.clion10\system\cmake\generated\4cb6a70c\4cb6a70c\__default__\CMakeFiles\CMakeTmp\CMakeFiles 1 
CMakeFiles\cmTryCompileExec141319549.dir\build.make:56: recipe for target 'CMakeFiles/cmTryCompileExec141319549.dir/testCCompiler.c.obj' failed 
process_begin: CreateProcess(C:\Users\Jim\AppData\Local\Temp\make68804-1.bat, C:\Users\Jim\AppData\Local\Temp\make68804-1.bat, ...) failed. 
make (e=2): Het systeem kan het opgegeven bestand niet vinden. 
mingw32-make.exe[1]: *** [CMakeFiles/cmTryCompileExec141319549.dir/testCCompiler.c.obj] Error 2 
mingw32-make.exe[1]: Leaving directory 'C:/Users/Jim/.clion10/system/cmake/generated/4cb6a70c/4cb6a70c/__default__/CMakeFiles/CMakeTmp' 
Makefile:117: recipe for target 'cmTryCompileExec141319549/fast' failed 
mingw32-make.exe: *** [cmTryCompileExec141319549/fast] Error 2 
CMake will not be able to correctly generate this project. 

Dies ist der Fehler, den ich bekommen, wenn ich versuche CMake von CMD zu verwenden: enter image description here

+0

Ich habe versucht, was Sie gesagt haben, aber der Fehler bleibt derselbe wie zuvor. Dies ist die Ausgabe von den Protokollen. http://pastebin.com/hMFFN5Gs –

+0

Ich deinstallierte meine Antivirus, deaktivierte Windows Defender, weil das aus irgendeinem Grund eingeschaltet war, sogar meine Firewall deaktiviert. Ich probierte bereits MinGW-w64 und sogar eine dieser TDM, aber sie alle geben den gleichen Fehler. Aber ich habe es trotzdem mit MinGW-w64 und dem neuesten CMake versucht. Dies sind die Protokolle, die ich erhalte, wenn ich deinen Vorschlag ausprobiere: http://pastebin.com/wZZWx9Dy, die fast genau so sind wie zuvor. –

+0

Es heißt "Datei nicht gefunden" ... Können Sie ein generiertes Makefile im Build-Verzeichnis finden? (Etwas in 'C:/Benutzer/Jim/Dokumente/test/buidl/CMakeFiles/CMakeTmp') Wenn ja, poste es bitte ... Das' buidl' ist nur ein falsches Wort, korrekt? Wie auch immer, der Test des Compilers funktioniert, es ist der Make-Test, der nicht funktioniert. Versuchen Sie Ninja. – Antonio

Antwort

1

mit einem Dummy Cmake Projekt (A CMakeLists.txt mit einfach cmake_minimum_required(VERSION 2.8) und add_executable(helloWorld <your hello world program>).), haben wir festgestellt, dass der Compiler und CLion nicht das Problem sind, so ist es wahrscheinlich etwas mit make zu tun. Here war das Protokoll.

Meine Vermutung ist, dass Sie msys in Ihrem Weg haben. Wenn sh.exe in Ihrem Pfad ist, ist es known to cause problems.

Als eine sichere Alternative können Sie sich entscheiden, ninja als Alternative zu verwenden (cmake supports it experimentally, aber in der Praxis unterstützt es es ziemlich gut). Here Sie können vorgefertigte Pakete finden (es ist nur eine ausführbare Datei, die Sie in Ihren Pfad einfügen müssen).

Ninja Integration in CLion should work just fine.

+0

Nur um dies zu qualifizieren: keine MSYS-Binärdateien sollten * jemals * in '$ PATH' sein, es sei denn, Ihr Prozess läuft als Kind einer korrekt instanziierten MSYS-Shell. In diesem Fall sollten Sie CMake's MSYS Makefiles verwenden 'Feature; (raten, weil ich CMake nie für nützlich gehalten habe, also benutze ich es nicht selbst). Wenn Sie die 'MinGW Makefiles'-Funktion verwenden, sollte es dann nicht' mingw32-make.exe' sein, die in '$ PATH' steht? –

+0

@KeithMarshall Wenn Ihre Nachricht an Ihn Bransen ist, sollten Sie es unter seiner Frage veröffentlichen, sonst wird er nicht benachrichtigt – Antonio

+0

"Sie sollten es unter seiner Frage, sonst wird er nicht benachrichtigt werden": Ich habe es nicht bemerkt das, danke. Dies ist eine Fehlfunktion, IMO; Nichtsdestotrotz habe ich einen Kommentar zu der Frage geschrieben und ihm geraten, Kommentare zu Antworten zu lesen. Nur zur Erinnerung, mein früherer Kommentar wäre für Sie beide relevant. –

0

Ich hatte ein ähnliches Problem. Hast du MinGW vor CLion installiert?

Wenn Sie nur den C-Compiler mit MinGW (Basis) installiert haben, besteht die Möglichkeit, dass CLion einen nicht vorhandenen C++ - Compiler testet.

Sie sollten versuchen, den MinGW C++ - Compiler von seinem Installationsmanager zu installieren. Oder Sie können einfach den Ordner C: \ MinGW löschen und das Installationsprogramm erneut starten, indem Sie C- und C++ - Compiler hinzufügen. Wenn dies nicht funktioniert, versuchen Sie, CLion erneut zu installieren.

Das ist eine schnelle Lösung, die für mich funktionierte.

Verwandte Themen