【发布时间】:2011-01-03 00:54:47
【问题描述】:
我有一个 C++ 可执行文件,我正在动态链接多个库(Boost、Xerces-c 和自定义库)。
如果我选择静态链接这些库 (relevant SO question here),我明白为什么需要 .lib/.a 文件。但是,如果我动态地链接这些外部库,为什么在链接我的可执行文件时需要提供相应的 .lib/.so 库文件?
【问题讨论】:
-
链接器需要知道哪个 DLL 包含它需要解析的导出。 .lib 文件提供此信息。
-
您询问的是 .dll 还是 .so? linux 的答案会有所不同。
标签: c++ gcc linker visual-c++