1
在OS X上,ld
有一個方便的選項-weak-l
,它與-l
類似,但該庫「弱連接」。如果在加載可執行文件時找不到lib,則在程序實際遇到無法找到的符號之前不會發出錯誤。Linux:弱鏈接整個庫,如OS X ld -weak-lfoo
g++ -L. -weak-lfoo -o main.out main.cpp
Linux ld
命令中是否有等價的功能?我找不到它。
我試圖避免這個錯誤:
./main.out: error while loading shared libraries: libfoo.so: cannot open shared object file: No such file or directory
...即使libfoo.so
不可用。 (我碰巧知道 - 對於我的用例 - main.out
將不會調用任何需要從libfoo.so
符號的功能。)