So installieren Sie C++11 C++0x-header-Dateien, die auf Redhat Enterprise
Zog ich meine Anwendung auf eine andere Linux-box, nach der Kompilierung, gibt es einen Fehler, sagen
#include <atomic>
nicht aufgelöst werden können.
Ich denke, die neue GNU C++11 header-Dateien /Bibliotheken werden nicht installiert auf der neuen Maschine.
Meine Frage ist wie kann ich Sie installieren?
Läuft bei mir auf Redhat Enterprise, so yum install ?
Dank.
- Dies RHEL 6? (Einfach sicher...)
- Was ist deine compiler-version?
- Haben Sie Hinzugefügt
--std=c++0x
oder--std=c++11
wenn die GCC-version ist >= 4.7? - gcc (GCC) 4.4.6 20110731 (Red Hat 4.4.6-3)
- Ich habe Hinzugefügt --std=c++0x oder-std=c++11
- wenn ich mich Recht erinnere , <atomic> gab es nicht im gcc-4.4.x .
- wie installiere ich gcc-4.6? Danke.
- Suchen Sie die repo -, rpmfusion..etc. Wenn nicht vorhanden, selbst erstellen, ohne verwurzelung (ansonsten 'kann' eine Katastrophe).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Red Hat Developer Toolset bietet C++11-Unterstützung.
(In der Tat, ich vermute, das ist der primäre Grund für seine Existenz.)
Die gehören unter die gcc-version, die kommt mit RHEL 6 ist:
Finden Sie unter Runtime-Bibliothek (libstdc++) Abschnitt gcc-4.4 releaste Noten.
EDIT: Diese Antwort ist nicht ganz korrekt, weil
cstdatomic
ist der C11-Datei und nicht die C++11 ein. Für die vollständige C++ - Unterstützung in RHEL 6, die devtoolset verwendet werden soll.<atomic>
. Siehe stackoverflow.com/questions/17185734.Sieht aus wie Sie brauchen, um installieren Sie eine aktuelle version von GCC selbst, RHEL (mindestens 6.x) nicht eine version von GCC, die C++0x " in es-Repositorys. Sie können erstellen neuere Versionen von GCC mit dem folgenden GCC Installationsanweisungen, die Verteilung-neutral.
Können Sie auch in der Lage sein, um ein Paket aus einer neueren Fedora - Version, die in der Regel enthält mehr "bleeding edge" - software, die verfügbar ist in RHEL.