Meine LIBRARY_PATH-Variable wird exportiert, aber ich muss die Option -L weiterhin an gcc übergeben, um eine Verknüpfung zu meiner Bibliothek herzustellen.Umgebungsvariable LIBRARY_PATH wird nicht verwendet/wird mit gcc gelesen
Wenn ich die GCC-Dokumentation korrekt 3.20 Environment Variables Affecting GCC verstehe, sollte die Umgebungsvariable LIBRARY_PATH so aussehen, dass ich nur die Option -l angeben muss.
Als ich
gcc -Wall cog.c -L$HOME/lib -lutil
das Programm ausgeführt wird zusammengestellt, und ich erhalte eine a.out, wie erwartet.
Wenn ich
gcc -Wall cog.c -lutil
laufen bekomme ich einen nicht definierten Referenzfehler.
Soweit ich das beurteilen kann, habe ich die Umgebungsvariable ordnungsgemäß exportiert.
cassiopeia~> export LIBRARY_PATH=$HOME/lib
cassiopeia~> ls $LIBRARY_PATH
libutil.a
Irgendwelche Hinweise?
Für was es wert ist, verwende ich Fedora 23 64bit und gcc Version 5.3.1 20160406 (Red Hat 5.3.1-6).
Bitte versuchen Sie LD_LIBRARY_PATH – zgrw
@zgrw 'LD_LIBRARY_PATH' wird ausschließlich vom dynamischen Loader' ld.so' verwendet, um dynamische Bibliotheken zur Laufzeit zu finden. Es wirkt sich nicht auf den Compiler oder den Linker aus. – tofro