无需为 Boost 手动指定输入库。这是如何实现的?
No need to manually specify input libs for Boost. How is this achieved?
将 Boost 与 Visual C++ 一起使用时,您可以简单地包含 headers,而无需为 link 指定哪些输入库。在构建时,IDE 将以某种方式找出 link 的适当库,无论是发布还是调试,静态 linking 到 CRT 或动态 linking 到 CRT。这使得使用 Boost 非常方便。我想知道这是如何实现的。例如,使用 Multi-threaded 调试 DLL (/MDd) 配置,将选择库 libboost_system-vc80-mt-gd-1_53.lib
并自动 linked。
VC++ 编译器具有一项功能,允许您使用 pragma 指令 (https://msdn.microsoft.com/en-us/library/7f0aews7.aspx) 直接在源代码中将库指定为 link。它看起来像这样:
#pragma comment(lib, "name-of-library")
Boost 利用了此功能,如您在 this file 中所见。
将 Boost 与 Visual C++ 一起使用时,您可以简单地包含 headers,而无需为 link 指定哪些输入库。在构建时,IDE 将以某种方式找出 link 的适当库,无论是发布还是调试,静态 linking 到 CRT 或动态 linking 到 CRT。这使得使用 Boost 非常方便。我想知道这是如何实现的。例如,使用 Multi-threaded 调试 DLL (/MDd) 配置,将选择库 libboost_system-vc80-mt-gd-1_53.lib
并自动 linked。
VC++ 编译器具有一项功能,允许您使用 pragma 指令 (https://msdn.microsoft.com/en-us/library/7f0aews7.aspx) 直接在源代码中将库指定为 link。它看起来像这样:
#pragma comment(lib, "name-of-library")
Boost 利用了此功能,如您在 this file 中所见。