En examinant la question, les modifications et les commentaires, il devient clair que la configuration de votre chaîne de compilation et des en-têtes en est probablement la cause. Vous pouvez continuer à essayer d'ajouter des éléments, mais j'adopterais une approche différente :
- Faites une sauvegarde complète du Mac - une sauvegarde que vous souhaitez vraiment utiliser si vous effacez la machine et lancez une compilation test du programme, puis restaurez soit la sauvegarde complète, soit les fichiers dont vous avez besoin de manière sélective à partir de la sauvegarde.
- Supprimez Xcode et tous les compilateurs que vous avez téléchargés et installés.
- Installer un outil d'aide à la maintenance et à l'installation du compilateur et des fichiers de bibliothèque d'en-tête nécessaires pour la dernière norme C++.
L'outil que j'utilise est homebrew, vous pouvez donc l'installer par https://brew.sh
brew update
-
brew doctor
- et assurez-vous de suivre les conseils du médecin ou de demander des conseils ici.
brew install gcc
Voici le programme de test que j'ai utilisé pour un "cas de test minimal"
#include<atomic>
#include<iostream>
using namespace std;
int main()
{
cout << "Hello World" << endl;
}
Avant d'utiliser la version "brew" de gcc, j'obtiens ce que je suppose être la même erreur que vous :
mac:Desktop me$ /usr/bin/gcc gate\ test.cpp
In file included from gate test.cpp:1:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/atomic:543:2: error: <atomic> is not implemented
#error <atomic> is not implemented
^
1 error generated.
mac:Desktop me$ which gcc
/usr/bin/gcc
Mais si je le compile en utilisant "brew installed gcc", j'obtiens un très beau message détaillé
mac:Desktop me$ g++-5 gate\ test.cpp
In file included from /usr/local/Cellar/gcc/5.2.0/include/c++/5.2.0/atomic:38:0,
from gate test.cpp:1:
/usr/local/Cellar/gcc/5.2.0/include/c++/5.2.0/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
#error This file requires compiler and library support for the \
^
mac:Desktop me$ g++-5 gate\ test.cpp -std=c++11
TLDR ;
- pointer votre compilateur vers g++5
- supprimer d'autres compilateurs si nécessaire (y compris Xcode éventuellement)
- ajout de l'option de compilation -std=c++11
0 votes
Bienvenue à Ask Different. Pourriez-vous faire deux choses et éditer le message avec les détails ? Je vais éditer votre message avec les commandes, vous pourrez entrer les résultats ensuite... Vous pouvez également montrer la commande make pour nous indiquer les drapeaux et/ou si elle indique qu'un fichier d'en-tête spécifique est manquant ou introuvable.
1 votes
Merci bmike. xcode-select --install a été fait. gcc -v donne : 'Configuré avec : --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 Apple LLVM version 7.0.0 (clang-700.1.76) Target : x86_64-apple-darwin14.5.0 Thread model : posix'. J'ai essayé d'obtenir la dernière vérification d'llvm et de clang comme suit poste J'attends les résultats et je vous les communiquerai demain
0 votes
Parfait. Veuillez éditer le corps du texte avec vos résultats et ensuite @ ping me - cet outil a l'air très bien et j'espère que nous pourrons vous donner une réponse et qu'il fonctionnera à nouveau.
0 votes
Eh bien... Ça ne marche pas. Parfois, j'ai l'impression que je ne devrais plus toucher un ordinateur :-) J'ai installé llvm localement (dans /Applications/) et j'ai trouvé un exécutable appelé build/bin/clang-3-8 comme compilateur. J'ai donc compilé mon programme en utilisant ccmake et clang-3-8 comme compilateur C et C++. Il échoue après 1% avec le message "could not find iostream".
0 votes
OK - nous avançons (lentement) - les compilateurs semblent ne pas avoir tout ce dont ils ont besoin. Vous ne devriez pas avoir besoin d'installer quoi que ce soit - en fait, si vous avez deux ou trois compilateurs, déterminer lequel est utilisé est problématique. Je vais faire une réponse sur la façon d'avancer, mais vous pourriez avoir besoin de poster les deux réponses exactes - mot pour mot à la page d'accueil.
sudo xcode-select --install
ywhich gcc
afin que je puisse adapter ma réponse à votre situation.0 votes
Au lieu d'ajouter votre réaction à la réponse, veuillez ajouter un commentaire soit sous la réponse, soit (si vous ne pouvez pas commenter là) sous votre question (et envoyez un nouveau ping à @bmike).