2017-09-28 5 views
3

Je travaille avec un logiciel très incommode, et il ne supporte pas le clang. Donc, je dois changer mon compilateur CMake et comme je l'ai lu presque partout, et ici How can I make CMake use GCC instead of Clang on Mac OS X?, j'ai essayé:Changer le compilateur cmake de clang en g ++ pour mac

cmake -DCMAKE_CXX_COMPILER=/usr/bin/g++ 

Cependant, je reçois toujours cette erreur

CMake Error at CMakeLists.txt:59 (message): 

GAMBIT does not support the Clang compiler. Please choose another compiler.

-- Configuring incomplete, errors occurred!

Une suggestion, s'il vous plaît?

+0

Utilisez 'cmake-gui' et modifiez les paramètres ici? – Amadeus

+1

Essayez de définir les compilateurs C et C++ dans le fichier CMakeLists.txt: SET (CMAKE_C_COMPILER/chemin/vers/c/compilateur) SET (CMAKE_CXX_COMPILER/chemin/vers/cpp/compilateur) –

+1

Vérifiez si vous avez * real * gcc installée. AFAIR Xcode ne contient plus * gcc *, et exécuter 'gcc' appelle' clang'. –

Répondre

5

J'ai trouvé les variables d'environnement CC et CXX avant de lancer CMake pour la première fois, avec CMAKE_CXX_COMPILER. Notez également que c'est probablement une bonne idée de définir les deux. Alors entrez dans un répertoire binaire vide et exécutez ceci:

CC=/usr/bin/gcc CXX=/usr/bin/g++ cmake ... 

Assurez-vous aussi que /usr/bin/gcc est vraiment GCC et non par exemple un Clang symétrique ou autrement déguisé (je crois qu'un tel setup peut exister dans le monde MacOS).

+3

En outre, il est pertinent que/usr/bin/gcc ne soit pas gcc dans l'environnement du demandeur ... –

+1

@JeffGarrett J'ai édité la réponse, mais ma vie dev et Apple ne se croisent pas du tout; pouvez-vous s'il vous plaît vérifier que j'ai capturé la préoccupation correctement? – Angew

+1

Je n'ai pas mon MBP à proximité. Ce qui suit prétend même qu'il pourrait être clang mais pas un lien symbolique: https://stackoverflow.com/questions/20663695/mac-os-x-usr-bin-gcc-file –

0

Vous avez probablement besoin de mettre CMAKE_C_COMPILER aussi bien, qui est:

cmake -DCMAKE_CXX_COMPILER=/usr/bin/g++ -DCMAKE_C_COMPILER=/usr/bin/gcc

En effet, en regardant le code source Gambit, il semble que c'est surtout C.

Personnellement, j'aime généralement à mettre en les deux, juste au cas où.

+0

mon/usr/bin/g ++ était en fait un lien symbolique vers clang et l'adresse réelle pour mon g ++ était/opt/local/bin/g ++! la valeur par défaut/usr/bin/g ++ est celle qui vient avec xcode – ShS