2017-01-29 3 views
0

Ich habe eine neuere Version von gcc gebaut und installiert und möchte damit einige Programme erstellen. Ich bin mir nicht sicher über die richtige Vorgehensweise.Wie kompiliere/verlinke ich einen alternativen GCC Build

Mein Plan ist,

  • Verwenden update-alternatives, um zwischen Standard-gcc und mein gcc-5.3.0 und fügen g++, c++, g77 als Sklaven. (Oder jede andere Methode erstellen Symlinks zu den alle gcc bezogenen ausführbaren Dateien in einem Standardverzeichnis - Ex /usr/local/bin.)
  • Fügen Sie die gcc-5.3.0/lib zu LD_LIBRARY_PATH

Jede andere Dinge, die ich brauche (und gcc-5.3.0/libexec?) machen? beim Kompilieren/Verknüpfen und Ausführen dieser Programme?

+0

Dies ist eine Frage für askubuntu, für Werte von Ubuntu gleich yourdistro. –

+0

Das hat nichts mit ubuntu zu tun, sondern fragt nur, wie man mit einem nicht-standardisierten gcc-Build richtig kompiliert und verlinkt wird. Ich bin auf SL6 (CentOS6) – xcorat

+0

Ich sagte ubuntu == yourdistro nicht ich? update-alternatives sieht sehr distrosspezifisch aus. –

Antwort

3

Die meisten Build-Tools und -Umgebungen ermöglichen die Neudefinition verwendeter Compiler. Beispielsweise verwendet typisches Makefile die Variablen CC für C-Code und CXX für C++ - Code. Wenn Sie make für einen üblichen Compilierung ausführen, können Sie stattdessen so etwas wie

env CXX='/opt/gcc-5.3.0/bin/g++ -Wl,-rpath=/opt/gcc-5.3.0/lib' make 

verwenden diese Änderungen auch verwendet Linker, weil in der Regel die gleichen C-Compiler für einen Linker-Treiber verwendet wird.

Details werden bei der Implementierung abweichen, aber dies zeigt den Hauptpfad.

Eine solche Neudefinition von CC, CXX betrifft auch configure von Autotools und eine Reihe ähnlicher Tools.

Für weitere Hilfe sollten Sie die Build-Tools angeben, die in Produkten verwendet werden, die Sie kompilieren.

+0

wusste nicht, was '-rpath' war! Vielen Dank! – xcorat

Verwandte Themen