Welche Version von GCC wird vom Befehl make verwendet?

7

Gibt es eine Möglichkeit zu wissen, welche Version von gcc vom makeBefehl 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
Mohammad Reza Rezwani
quelle
@karel 1. Es ist ein Duplikat auf Stackoverflow , 2. Ich denke, es ist eine generische Programmierfrage.
Mitch

Antworten:

6

Öffnen Sie das Terminal und geben Sie Folgendes ein:

gcc --version  

Wenn dies nicht die gewünschte Version von gcc ist, können Sie die Standardversion von gcc mithilfe des update-alternativesBefehls ändern, um zu bestimmen, auf welche tatsächliche Datei durch einen generischen Namen verwiesen wird, z. B. auf welche tatsächliche Datei verwiesen wird gcc. Weitere Informationen finden Sie in den Antworten auf diese Frage: Wie ändere ich den Standard-GCC-Compiler in Ubuntu? .

Karel
quelle
wie man sicherstellt, welche [machen] diese verwenden
Mohammad Reza Rezwani
1
@ Lion Karel sagt Ihnen, die Standardversion (gedruckt mit dem obigen Befehl) wird vonmake
Lucio
+1 ok aber wie man sicher geht |: D;
Mohammad Reza Rezwani
1
Sie können auch explizit von der Standardversion von gcc (auch als "Auto-Modus" bezeichnet) vorübergehend zu einer anderen Version von gcc (manueller Modus) wechseln, indem Sie den Anweisungen in dieser Antwort folgen .
Karel
2
Möglicherweise müssen Sie auch das Makefile überprüfen, einige geben explizit eine Version an.
Vality
5

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 wird cc. Wenn Sie also eingeben cc --version, sehen Sie, was Makefiles standardmäßig verwenden.

Das Makefile überschreibt möglicherweise die Definition von CCobwohl oder wird überhaupt nicht verwendet $(CC). Aber ist die Konvention (wie es in Autoconf auch für configureSkripte ist).

Siehe auch: /programming/2969222/make-gnu-make-use-a-different-compiler

Robie Basak
quelle
3

makemacht nur das, was das Makefile vorschreibt. Die meisten Makefiles verwenden den Standardbefehl gcc, daher gilt in den meisten Fällen die Antwort von karel. Sie sollten sich jedoch bewusst sein, dass nichts die makeVerwendung des Standard-GCC erzwingt . (Und im makeÜbrigen kann es neben dem Kompilieren von C auch für viele andere Zwecke verwendet werden, sodass GCC möglicherweise überhaupt nicht verwendet wird.)

fkraiem
quelle