Haben Sie die Frage falsch eingegeben? Es gibt keine Möglichkeit für die zur Ausgabe der Nachricht, die Sie schreiben, und ich würde erwarten, dass der richtige Befehl etwas mehr wie
gcc -L. `net-snmp-config --cflags` -fPIC -shared -c -o matsu_object.o tsu_object.c
Beachten Sie die -L
Groß, Backticks anstelle von einfachen Anführungszeichen und Groß I
in PIC
ist.
Auch Sie nicht sagen, was Sie zu tun versuchen, aber net-snmp-config
sollte auch als auch mindestens eine der --libs
oder --agent-libs
nehmen.
Ah, ich habe nicht genau genug gelesen ...
-c
bedeutet "zusammenstellen", das heißt: erzeugen aus tsu_object.c
, ein matsu_object.o
zusammengestellt.
Ohne -c
, der Compiler tatsächlich verknüpft, das heißt: generieren von *.o
, a.out
oder andere angegebene Datei.
-shared
(und Linker-Flags wie -l
und -L
) sind nur bei der Verknüpfung sinnvoll. Sie sind bedeutungslos beim Kompilieren, wie Sie hier wegen -c
tun.
Bitte korrigieren Sie die Befehlszeile in der Frage, um genau zu zeigen, was Sie gerade tun, und erläutern Sie, was Sie zu tun versuchen.
net-snmp-config druckt '-lcrypto' und GCC warnt Sie, dass es die Bibliothek nicht benutzt hat, weil es keine Verbindung hergestellt hat. –
--cflags druckt nicht -lcrypto, Sie brauchen --libs oder ähnliches dafür. – ephemient