【问题标题】:How do I know the path of libraries used by ld?我如何知道 ld 使用的库的路径?
【发布时间】:2018-11-24 07:10:51
【问题描述】:

假设我正在使用 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,但是当您使用许多库时这样做会太乏味。

【问题讨论】:

标签: linker clang llvm ld llvm-clang


【解决方案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

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

【讨论】:

    猜你喜欢
    • 2022-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-18
    • 1970-01-01
    • 2017-01-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多