如果我只在使用Boost时使用头,那会静态链接它吗,还是根本不链接
If I use headers only while using Boost, will that link it statically, or is that not linking at all?
我正在Windows/VisionStudioIDE中开发一个小的ATLDLL文件,而且我对C++/Boost还比较陌生。我在Linker选项下添加了Boost库目录,并将Boost根目录添加为额外的include目录。在我的代码中,我添加了如下内容:
#include <boost/algorithm/string.hpp>
这是静态链接、动态链接还是根本不链接?
这是静态链接、动态链接还是根本不链接?
答案是"视情况而定"。
提升幅度很大。从Douglas Adams那里偷一句话,Boost"很大。真的很大。你不会相信它有多大、多大、大得令人难以置信。"
Boost的某些部分纯粹是作为模板实现的:没有对以前编译并存储在某个库中的函数的调用。只使用Boost的这些部分,就不需要Boost库。
Boost的其他部分调用以前编译并存储在某个库中的函数。这些将需要链接。这是动态还是静态完成取决于(a)您(或某些系统管理员)是否将Boost库构建为动态库还是静态库,以及(b)您(或者您的生成文件)如何告诉链接器处理Boost库。
包含任何标头都会将该代码嵌入到源文件中进行编译。
因此,代码将被链接,就像所有符号一样,但它没有单独链接。
相关文章:
- 如果我想链接静态库并删除未使用的符号.txt我应该如何处理 Cmakelist
- 为什么当我在 C 程序中链接静态库时会"undefined symbol"?
- 强制链接静态库与 cmake 不起作用
- CMake 项目链接静态库
- 使用 CMake 在 Mac 上链接静态 GLFW 和 OpenGL
- DLL 链接静态库 - 未使用函数中未解析的链接器符号
- 如何使用 WAF 链接静态库?
- 无法在 Mac OS X 上链接静态资源库
- MAPI 链接静态库 (LNK2019: 未解析的外部符号)
- 为什么G 不链接静态程序
- 节点本机模块 - 链接静态库
- 在链接链接静态(GSOAP)库的共享库时,为什么会得到一个未定义的符号
- 链接静态和动态库时违反 ODR
- 代码中的MinGW::块不链接静态OpenSSL库
- Emscripten 链接静态库错误:wasm 流式编译失败:导入'env.getTempRet0'
- 如何正确链接静态类
- CMake 链接静态库和 glib 错误
- Eclipse CDT:如何在没有项目清理>>项目重建的情况下重新链接静态库
- 错误:链接静态库时出现";"
- gcc 如何链接静态库