代码之家  ›  专栏  ›  技术社区  ›  nalzok granmirupa

如何知道ld使用的库的路径?

  •  1
  • nalzok granmirupa  · 技术社区  · 6 年前

    假设我正在构建应用程序并将其与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 手动操作,但是当您使用许多库时,这样做太单调了。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Mike Kinghan    6 年前

    如果链接器是gnu ld 通过 linker option --trace ,例如

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

    如果链接器是darwin mach-o 半导体激光器 通过 linker option -t 例如

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

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