我所著它使用项目<boost/thread/locks.hpp>
我添加include
目录Additional Include directories
,和lib
文件夹链接。 但是,当我尝试建立的解决方案,错误:
错误1个错误LNK1104:无法打开文件 'libboost_thread-VC100-MT-SGD-1_50.lib'
我搜索在lib目录下这个文件,但这个名字在lib目录中没有文件。 我发现类似名称的文件libboost_thread-vc100-mt-gd-1_50
。
我在做什么错?
你的问题似乎是非常相似的一个在这个问题 。 根据所描述的命名约定这里链接器要使用库,并且你有磁带库之间的唯一区别是,前者静态链接到C ++标准库和编译器运行支持库。 我能想到的两种方法来解决这个问题:
获取链接希望库
一种。 如果您使用的boostpro安装程序:
请务必检查框Multithreaded debug, static runtime
(我会建议您将它们标记全部)
湾 如果你建库自己:
打开控制台窗口
目录变更为您升压根
下面的命令构建所需的库:
b2 toolset=msvc-10.0 --with-thread address-model=64 variant=debug link=static runtime-link=static runtime-debugging=on stage
(我建议使用:
b2 toolset=msvc-10.0 address-model=64 --build-type=complete stage
)
让链接器可以使用任何你想要的库
一种。 请自动连接使用的共享库
您可以定义BOOST_THREAD_DYN_LINK(仅影响线程库)或BOOST_ALL_DYN_LIB(影响所有Boost库)中包含的头文件之前(或最好在你的VC项目预处理器设置)。 这将使连接尝试使用该库boost_thread-vc100-mt-gd-1_50.lib
(注意lib- preffix丢失)。
湾 禁用自动链接
您可以定义BOOST_ALL_NO_LIB,然后在你的连接选项添加库的确切名称