Analizando la cuestión, las ediciones y los comentarios, está claro que la instalación del compilador y de la cadena de los encabezados es probablemente la causa. Podría seguir tratando de agregar cosas, pero me gustaría tomar un rumbo diferente:
- Hacer una copia de seguridad completa de la Mac - uno que usted es serio acerca de usar si usted limpie la máquina y ejecutar una prueba de compilación del programa y, a continuación, restaurar la copia de seguridad completa o archivos que usted necesita de forma selectiva a partir de la copia de seguridad.
- Quitar Xcode y eliminar todos los compiladores de haber descargado e instalado.
- Instalar una herramienta para ayudar con el mantenimiento y la instalación del compilador y la necesidad de encabezado de los archivos de la biblioteca para el último estándar de c++.
La herramienta que yo uso es de homebrew, por lo que se puede instalar por https://brew.sh
brew update
-
brew doctor
- y asegúrese de seguir los consejos del médico o post aquí para obtener asesoramiento
brew install gcc
Aquí está el programa de prueba he utilizado para un mínimo de caso de prueba"
#include<atomic>
#include<iostream>
using namespace std;
int main()
{
cout << "Hello World" << endl;
}
Antes de usar la "cerveza" de la versión de gcc, me pongo lo que me imagino es el mismo error como:
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
Pero si puedo compilar usando el "brebaje instalado gcc", me estoy poniendo un muy bonito mensaje detallado
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;
- señala el compilador g++5
- eliminar otros compiladores como sea necesario (incluyendo Xcode posiblemente)
- la adición de la opción de compilación -std=c++11