Wie benutzt man 2 verschiedene Versionen von GCC unter Linux Ubuntu und zwingt MAKE, eines davon zu benutzen

8

Ich benutze die letzte Version von Ubuntu, die mit der Version gcc 4.4.5 geliefert wird. Ich muss ein Programm neu kompilieren, das nicht von mir geschrieben wurde und das nur mit einer älteren Version von gcc wie dem 4.0 kompiliert werden kann. Ich habe es geschafft, diese ältere Version zu konfigurieren und habe während des Installationsvorgangs ein Präfix verwendet, so dass meine alte gcc-Version in der Datei /opt/gcc-4.0.1/bin ist. Ich habe versucht, einen symlink mit ln -s /opt/gcc-4.0.1/bin/gcc gcc zu erstellen. Aber wenn ich gcc -v anrufe, bekomme ich immer noch das Ergebnis gcc version 4.4.5 . Um mein Programm zu kompilieren, das bereits mit einem Makefile kommt, wenn ich make mache, benutzt es immer noch die neue Version von gcc. Wie kann ich make anweisen, die alte Version zu verwenden?

    
blackLabrador 11.11.2010, 07:43
quelle

1 Antwort

18

Verwenden Sie einige Standardvariablen, um zu bestimmen, welche Tools verwendet werden sollen. Die C-Compiler-Variable heißt "CC". Sie können die CC-Variable entweder direkt in Ihrem Makefile

setzen %Vor%

Das ist in Ordnung, wenn Sie alleine daran arbeiten, oder jeder hat das gleiche Setup. Oder Sie können es in der Befehlszeile wie folgt übergeben:

%Vor%

Die dritte Option ist /opt/gcc-4.0.1/bin vor allem anderen in Ihrem Pfad (weshalb es für Sie nicht funktioniert, das aktuelle Verzeichnis ist nicht im Pfad, also der Symlink Sie dort wird bei der Suche nicht berücksichtigt)

%Vor%

Der Vollständigkeit halber sollten Sie in Ihrer Symlink-Lösung ./gcc aufrufen, um die richtige gcc-Instanz zu erhalten, aber IMHO ist dies wahrscheinlich nicht die beste Lösung.

HTH

    
falstro 11.11.2010, 07:49
quelle