Kompilieren von C++11-Code auf alten Maschinen

Kompilieren von C++11-Code auf alten Maschinen

Ich versuche, ein C++11-Projekt auf einer Reihe alter Maschinen mit alten Kerneln zu kompilieren. Sie laufen unter CentOS 6.2, 6.3 oder Linux 4.1. Andere sind unbekannt, aber ähnlich alt. Auf den Maschinen kann ich keine neuere Version von GCC installieren. 4.4 ist das Maximum, das sie ausführen können, und das Projekt neu zu schreiben ist keine Option.

Irgendwie habe ich es geschafft, GCC 4.6 lokal auf einer Maschine zu erstellen und es zum Kompilieren meines Projekts zu verwenden, aber ich möchte das nicht auf jeder Maschine wiederholen. Gibt es eine einfache Möglichkeit, den Code auf allen Maschinen zu kompilieren oder auszuführen?

Antwort1

Der beste Weg wäre wahrscheinlich, die neue Version von gcc für alle Maschinen zu kompilieren. Sie können dies mit einem Skript tun (lfstut dies). Sie sollten „sicher“ sein, wenn Sie das Skript kopieren, einfügen und dann von einem temporären Konto über SSH ausführen.

Sie können auch versuchen, IhreReposdamit Centos sie für Sie installiert. Centos versucht jedoch möglicherweise, Ihr gesamtes System zu aktualisieren.

Verwenden Sie außerdem -std=c++11? Wenn ja, können Sie es mit versuchen -std=c++0x.

Antwort2

Das Problem besteht bei mir immer noch und ich habe eine gute Lösung für CentOS gefunden - Devtoolsethttps://www.softwarecollections.org/en/scls/rhscl/devtoolset-3/

Es bietet eine aktuelle Version von GCC und einige andere Tools für RHEL/CentOS 6/7.

verwandte Informationen