Wenn ich ein Open-Source-Programm namens gate mit "make" kompiliere, bekomme ich diese Fehlermeldung:
Fehler <atomar> ist nicht implementiert
Ich muss hinzufügen, dass ich dieses Programm kenne und es zuvor mehrmals ohne Probleme kompiliert habe
Mein Setup sieht so aus:
sudo xcode-select --install
which gcc
gcc --version
Ich laufe auf Yosemite 10.10.5, xcode 7.1.1 und habe mehrere Zusammenstellungen mit Clang und gcc ausprobiert
Wenn Sie sich die Frage, die Änderungen und die Kommentare ansehen, wird deutlich, dass die Einrichtung Ihrer Compilerkette und der Header wahrscheinlich die Ursache ist. Sie könnten weiterhin versuchen, Dinge hinzuzufügen, aber ich würde einen anderen Weg einschlagen:
Das von mir verwendete Tool ist Homebrew, Sie können es also über https://brew.sh installieren
brew update
brew doctor
- und stellen Sie sicher, dass Sie alle Ratschläge des Arztes befolgen oder hier um Rat fragenbrew install gcc
Hier ist das Testprogramm, das ich für einen "minimalen Testfall" verwendet habe
#include<atomic>
#include<iostream>
using namespace std;
int main()
{
cout << "Hello World" << endl;
}
Bevor ich die "Brew" -Version von gcc verwende, erhalte ich vermutlich den gleichen Fehler wie Sie:
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
Aber wenn ich es mit "brew installed gcc" kompiliere, erhalte ich eine sehr schöne detaillierte Meldung
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;
Hatte das gleiche Problem mit xCode 6.4. Bei der Verwendung von Atomic in einem einfachen helloWorld-Programm hat es funktioniert, aber bei der Verwendung eines von CMake generierten Projekts hatte ich die Meldung "#Fehler ist nicht implementiert".
Es scheint, dass CMake spezielle Flags benötigt, um c ++ 11 auf Mac zu aktivieren ... Also, habe genau (fast ... if (UNIX) durch if (APPLE) ersetzt), wie Kitware hier anzeigt:
https://cmake.org/Wiki/CMake/Tutorials/C%2B%2B11Flags
Falls der Link eines Tages nicht mehr funktioniert....
cmake_minimum_required(VERSION 2.6)
PROJECT(Test)
if(UNIX)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=gnu++0x")
endif()
# MSVC does not require any special flags
Fahrrad
Lukas SIMON
Fahrrad
Lukas SIMON
Fahrrad
sudo xcode-select --install
undwhich gcc
damit ich meine Antwort auf Ihre Situation zuschneiden kann.kein Hang