首页 > 解决方案 > 我如何知道 ld 使用的库的路径?

问题描述

假设我正在构建我的应用程序并将其与 clang 链接

clang -I/usr/local/include -c -o app.o main.c
clang -L/usr/local/lib -o app app.o -lfoo

我怎么知道在哪里libfoo.alibfoo.dylib有详细模式吗?

可以手动搜索/usr/lib/usr/local/lib但是当你使用许多库时这样做会太乏味。

标签: linkerclangllvmldllvm-clang

解决方案


如果链接器是 GNU ld,则传递链接器选项--trace,例如

clang -L/usr/local/lib -o app app.o -lfoo -Wl,--trace

如果链接器是 Darwin mach-o ld,则传递链接器选项-t,例如

clang -L/usr/local/lib -o app app.o -lfoo -Wl,-t

然后,链接器将报告它加载的每个目标文件、存档(成员)或动态库的路径。


推荐阅读