当我使用带有自动链接的 Visual Studio 2012 时,我不需要手动添加 boost/POCO/python 库,它们会自动添加。 如果我错过任何图书馆,我会收到这样的消息:
LINK : fatal error LNK1104: cannot open file 'libboost_system-vc110-mt-1_55.lib'
但是它怎么知道我要链接哪个文件呢?也许我想动态链接,使用 boost_system-vs110-mt-1_55.lib,或者我想要一个名称中带有 gd 或 sgd 的链接?
它是如何做出选择的?
问题是,我的程序在搜索系统、线程等时正在寻找 libboost_ ...(即静态)库,但它想要 python 的 boost_(即动态),我只是不明白为什么?
最佳答案
Visual Studio 允许源代码中的 #pragma
指令设置链接器选项。对于“自动链接”,Boost 将这些#pragma's
与现有宏结合使用。
特别是,听起来您正在寻找 BOOST_ALL_DYN_LINK
宏。
关于c++ - boost自动链接如何做出选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22805082/