说我正在使用clang构建和链接我的应用程序
clang -I/usr/local/include -c -o app.o main.c
clang -L/usr/local/lib -o app app.o -lfoo
我如何知道libfoo.a
或libfoo.dylib
的位置?有冗长的模式吗?
可以手动搜索/usr/lib
和/usr/local/lib
,但是当您使用多个库时,这样做会非常繁琐。
答案 0 :(得分:1)
如果链接器是GNU ld
,请通过linker option --trace
,例如
clang -L/usr/local/lib -o app app.o -lfoo -Wl,--trace
如果链接器是Darwin mach-o ld
,则通过linker option -t
,例如
clang -L/usr/local/lib -o app app.o -lfoo -Wl,-t
然后,链接器将报告每个目标文件,存档(成员)或 加载的动态库。