CMake: Le compilateur C n'est pas en mesure de compiler un programme de test simple. Étonnamment compilateur C identification est inconnue, mais CXX est GNU 4.9.2

J'ai essayé de compiler un Thor bibliothèque. Il dépend de la SFML. Je n'ai pas eu de problème avec la compilation de SFGUI qui dépend aussi de la SFML. Précédemment, j'ai utilisé exactement de la même chaîne. Tout a bien fonctionné

CMake gui erreurs:

The C compiler identification is unknown
The CXX compiler identification is GNU 4.9.2
Check for working C compiler: E:/Programs_Portable/Dev-Cpp/minGW32/bin/gcc.exe
Check for working C compiler: E:/Programs_Portable/Dev-Cpp/minGW32/bin/gcc.exe -- broken
CMake Error at C:/CMake/share/cmake-3.4/Modules/CMakeTestCCompiler.cmake:61 (message):
The C compiler "E:/Programs_Portable/Dev-Cpp/minGW32/bin/gcc.exe" is not able to compile a simple test program.
It fails with the following output:
Change Dir: D:/Michal/Pliki/thor-v2.0-sdk/build/CMakeFiles/CMakeTmp
Run Build
Command:"E:/Programs_Portable/Dev-Cpp/minGW32/bin/mingw32-make.exe"
"cmTC_6b11a/fast"
E:/Programs_Portable/Dev-Cpp/minGW32/bin/mingw32-make.exe -f
CMakeFiles\cmTC_6b11a.dir\build.make CMakeFiles/cmTC_6b11a.dir/build
mingw32-make.exe[1]: Entering directory
'D:/Michal/Pliki/thor-v2.0-sdk/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_6b11a.dir/testCCompiler.c.obj
E:\Programs_Portable\Dev-Cpp\minGW32\bin\gcc.exe -o
CMakeFiles\cmTC_6b11a.dir\testCCompiler.c.obj -c
D:\Michal\Pliki\thor-v2.0-sdk\build\CMakeFiles\CMakeTmp\testCCompiler.c
<built-in>: internal compiler error: Segmentation fault
libbacktrace could not find executable to open
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://sourceforge.net/projects/mingw-w64> for instructions.
CMakeFiles\cmTC_6b11a.dir\build.make:64: recipe for target
'CMakeFiles/cmTC_6b11a.dir/testCCompiler.c.obj' failed
mingw32-make.exe[1]: *** [CMakeFiles/cmTC_6b11a.dir/testCCompiler.c.obj]
Error 1
mingw32-make.exe[1]: Leaving directory
'D:/Michal/Pliki/thor-v2.0-sdk/build/CMakeFiles/CMakeTmp'
makefile:125: recipe for target 'cmTC_6b11a/fast' failed
mingw32-make.exe: *** [cmTC_6b11a/fast] Error 2
CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:42 (project)
Configuring incomplete, errors occurred!
See also "D:/Michal/Pliki/thor-v2.0-sdk/build/CMakeFiles/CMakeOutput.log".
See also "D:/Michal/Pliki/thor-v2.0-sdk/build/CMakeFiles/CMakeError.log".

J'ai essayé de compiler simple int main(){}. ccag travaux.
Tous les chemins sont comme prévu. (Btw, je n'utilisez pas de DevCpp, tout le chemin vers le compilateur).

Je suis surpris parce que g++ fonctionne, CMake est capable d'afficher de l'identification, mais apparemment pas pour gcc

Merci pour toute aide

  • Quelle partie du message d'erreur "Veuillez présenter une rapport de bug, avec prétraité à la source, le cas échéant. Voir <sourceforge.net/projects/mingw-w64> pour plus d'informations." vous avez été incapable de comprendre?
  • Je n'ai pas eu un compilateur erreur de segmentation pour les âges. Je suis plus intéressé pourquoi fait-il et pourquoi CMake ne pouvez pas comprendre l'identification
  • Pourquoi? Parce que vous avez trouvé un bogue du compilateur. Si les ordinateurs de comprendre leurs propres bugs, ils seraient en mesure de résoudre tous par eux-mêmes. Nous n'avons pas atteint cet état de la technologie, pour l'instant.
  • Je peux rien faire de plus que de soumettre le bug et l'évolution/le téléchargement de la nouvelle/autre version du compilateur?
  • Si vous tout d'abord d'isoler le module source est le déclenchement de la bogue, puis garder de supprimer temporairement les parties de la source et d'essayer de le compiler, il sera éventuellement possible d'isoler la source spécifique de déclaration que de déclencher le bug, et si c'est possible de le réécrire dans un autre, mais logiquement équivalent manière, et d'éviter son déclenchement. J'ai trouvé et rapporté un couple de gcc bugs de cette façon, déclenchée par mon propre code.
  • Malheureusement, ce n'est pas mon code, mais la bibliothèque. Je suis trop inexpérimenté pour essayer de le modifier
  • De la sorte? Il n'y a aucune loi qui dit que vous ne pouvez pas glander avec quelqu'un d'autre code. Essayez-la. Vous n'avez rien à perdre, et vous pourriez apprendre quelque chose.
  • En fait le compilateur s'est écrasé lors de son essayant de compiler a simple test program fournis par CMake
  • Donc, essayez de compiler le même programme manuellement. CMake construire journal contient la ligne de commande exacte pour cela: il est avant la ligne <built-in>: internal compiler error. Exécuter cette ligne de commande à partir du répertoire de construction ( D:\Michal\Pliki\thor-v2.0-sdk\build\ dans votre cas).

InformationsquelleAutor Xeverous | 2016-08-03