链接动态库时编译器选项“-l”的含义是什么?

时间:2016-02-20 11:40:00

标签: c++ dynamic-linking

链接动态库时我感到困惑。虽然我使用-L$(DIR) -l$(LIB)来指定库及其目录,ldd总是告诉我.so来自LD_LIBRARY_PATH

所以,我想知道-l$(LIB)的唯一影响是帮助编译器检查函数声明是否匹配?

1 个答案:

答案 0 :(得分:1)

  

所以,我想知道-l$(LIB)的唯一影响是帮助编译器检查函数声明是否匹配?

或多或少是的,这就是目的。

即使链接到在运行时动态加载的库,链接器也需要解析那些中定义的函数。

在这种情况下,将创建存根库以解析函数调用。这是使用-l选项提供的。