web-dev-qa-db-fra.com

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

J'ai essayé de compiler une bibliothèque Thor. Cela dépend de la SFML. Je n'ai eu aucun problème avec la compilation de SFGUI qui dépend également de SFML. Auparavant, j'utilisais exactement la même chaîne d'outils. Tout a bien fonctionné

Erreurs de gui CMake:

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 int main(){} simple. gcc fonctionne. Tous les chemins sont comme prévu. (Btw je n'utilise pas DevCpp, c'est juste le chemin du compilateur).

Je suis surpris parce que g ++ fonctionne, CMake peut afficher une identification mais apparemment pas pour gcc

Merci pour toute aide

4
Xeverous

Corrigé maintenant en mettant à jour mon GCC de 4.9.2 à 4.9.3. Plus de problèmes de plantage, mais apparemment, il y a eu une modification liée à la norme C++ 11 et je dois modifier manuellement CMakeLists.txt pour changer l'indicateur -std=c++11 en -std=gnu++11 lors de la compilation de toute bibliothèque et de tout programme. 

MinGW/CxxTest erreurs bizarres

Edit: Basculer/mettre à jour la distribution MinGW a résolu tous les problèmes. J'ai essayé de mettre à jour le compilateur vers les versions 7.2 +/8.0 + et je me suis débarrassé de tous les problèmes de confiuration. Probablement un installaton corrompu ou un bogue de version antérieure

0
Xeverous

Le message apparaît sur Solus OS si vous n'installez pas les packages de construction essentiels.

CMake Error at /usr/share/cmake-3.12/Modules/CMakeTestCCompiler.cmake:52 (message):
The C compiler

   "/usr/bin/cc"

is not able to compile a simple test program.

Vous devez installer les paquets en utilisant

Sudo eopkg it -c system.devel

Ensuite ça marche bien.

0
banan3'14