【发布时间】:2013-02-22 07:20:56
【问题描述】:
这里有几种使用静态库中的函数的方法,这些函数用 ar 压缩(即 libSOMTEHING.a):
ld -Lpath/to/library -lname myapp.o -o 结果
ld path/to/library/libname.a myapp.o -o 结果
有什么区别?例如,整个库是链接在可执行文件中,还是只是所需的函数?在第二个示例中,切换 lib 和目标文件的位置是否重要?
【问题讨论】:
-
1) “-Lpath/to/library”让你在“path/to/library”中找到多个库;硬编码 .a 路径不会。 2) 如果 .o 需要 .a 中的模块,那么库应该在之后出现。