
Ich versuche, GCC unter FreeBSD auszuführen und erhalte diesen Fehler:
% gcc
ar: unrecognized option `--plugin'
usage: ar -d [-Tjsvz] archive file ...
ar -m [-Tjsvz] archive file ...
ar -m [-Tabijsvz] position archive file ...
ar -p [-Tv] archive [file ...]
ar -q [-TcDjsvz] archive file ...
ar -r [-TcDjsuvz] archive file ...
ar -r [-TabcDijsuvz] position archive file ...
ar -s [-jz] archive
ar -t [-Tv] archive [file ...]
ar -x [-CTouv] archive [file ...]
ar -V
Ich habe die folgende Version von GCC mithilfe des Binärpakets installiert:
% pkg info gcc
gcc-4.7.3_1
Name : gcc
Version : 4.7.3_1
Installed on : Wed Jun 25 15:22:58 CEST 2014
Origin : lang/gcc
Architecture : freebsd:10:x86:64
Prefix : /usr/local
Categories : lang java
Licenses : GPLv3RLE and GPLv3
Maintainer : [email protected]
WWW : http://gcc.gnu.org/
Comment : GNU Compiler Collection 4.7
Options :
BOOTSTRAP : off
JAVA : on
Ich habe auch die Portversion mit den gleichen Ergebnissen installiert.
Was kann möglicherweise falsch sein?
Antwort1
Seit FreeBSD 10Klirrenist der neue Standardcompiler.
Sie könnten versuchen, Ihren Code mit Clang zu kompilieren, oder Sie müssen wie Sie eine GCC-Version installieren.
Aber vor der Umstellung auf Clang verwendete FreeBSD Version 4.2 von GCC und die Binärdatei dieses GCC war /usr/bin/gcc
, daher mussten die neueren Ports von GCC ihre Binärdatei anders benennen.
Aus diesem Grund haben alle GCC-Ports eine Binärdatei namens /usr/local/bin/gccXY
, wobei XY
die Versionsnummer ist.
Wenn Sie gcc4.7 auf FreeBSD installieren, erhalten Sie /usr/local/bin/gcc
aufgrund des alten Verhaltens kein „/usr/local/bin/gcc47“.
Kurz gesagt, wenn Sie Ihren Code mit GCC 4.7 kompilieren möchten, müssen Sie gcc47
und nicht verwenden gcc
.
Aber vielleicht sollten Sie Clang ausprobieren, da es immer eine gute Idee ist, Ihren Code mit verschiedenen Compilern zu kompilieren, um zu sehen, ob Ihr Code von einem Compiler abhängt. Denn wenn er nicht kompiliert wird, ist Ihr Code wahrscheinlich defekt oder Sie haben einen Compilerfehler gefunden, was großartig ist.
Schauen Sie sich auch anWarum lehnt FreeBSD GCC zugunsten von Clang/LLVM ab?