Gibt es eine Möglichkeit zu wissen, welche Version von gcc vom make
Befehl verwendet wird? Ich habe 5 Versionen von gcc auf meinem Computer installiert: vondpkg -l | grep gcc
ii gcc 4:4.8.2-1ubuntu6 i386 GNU C compiler
ii gcc-4.6 4.6.4-6ubuntu2 i386 GNU C compiler
ii gcc-4.6-base:i386 4.6.4-6ubuntu2 i386 GCC, the GNU Compiler Collection (base package)
ii gcc-4.8 4.8.2-19ubuntu1 i386 GNU C compiler
ii gcc-4.8-base:i386 4.8.2-19ubuntu1 i386 GCC, the GNU Compiler Collection (base package)
ii gcc-4.9-base:i386 4.9-20140406-0ubuntu1 i386 GCC, the GNU Compiler Collection (base package)
ii libgcc-4.8-dev:i386 4.8.2-19ubuntu1 i386 GCC support library (development files)
ii libgcc1:i386 1:4.9-20140406-0ubuntu1 i386 GCC support library
Antworten:
Öffnen Sie das Terminal und geben Sie Folgendes ein:
Wenn dies nicht die gewünschte Version von gcc ist, können Sie die Standardversion von gcc mithilfe des
update-alternatives
Befehls ändern, um zu bestimmen, auf welche tatsächliche Datei durch einen generischen Namen verwiesen wird, z. B. auf welche tatsächliche Datei verwiesen wirdgcc
. Weitere Informationen finden Sie in den Antworten auf diese Frage: Wie ändere ich den Standard-GCC-Compiler in Ubuntu? .quelle
make
Makefiles verwenden häufig implizite Regeln, um Dinge zu kompilieren, anstatt den Compiler spezifisch zu definieren. In diesem Fall wird die Konvention (und die Standardeinstellung) verwendet
$(CC)
, die standardmäßig verwendet wirdcc
. Wenn Sie also eingebencc --version
, sehen Sie, was Makefiles standardmäßig verwenden.Das Makefile überschreibt möglicherweise die Definition von
CC
obwohl oder wird überhaupt nicht verwendet$(CC)
. Aber ist die Konvention (wie es in Autoconf auch fürconfigure
Skripte ist).Siehe auch: /programming/2969222/make-gnu-make-use-a-different-compiler
quelle
make
macht nur das, was das Makefile vorschreibt. Die meisten Makefiles verwenden den Standardbefehlgcc
, daher gilt in den meisten Fällen die Antwort von karel. Sie sollten sich jedoch bewusst sein, dass nichts diemake
Verwendung des Standard-GCC erzwingt . (Und immake
Übrigen kann es neben dem Kompilieren von C auch für viele andere Zwecke verwendet werden, sodass GCC möglicherweise überhaupt nicht verwendet wird.)quelle