我写了一个使用的项目<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.
我做错了什么?
小智 7
您的问题似乎与此问题中的问题非常相似.根据此处描述的命名约定,链接器要使用的库与您拥有的库之间的唯一区别是前者静态链接到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)
使链接器使用您想要的库
.使自动链接使用共享库
在包含头文件之前(或者最好在VC项目预处理器设置中),您可以定义BOOST_THREAD_DYN_LINK(仅影响线程库)或BOOST_ALL_DYN_LIB(以影响所有增强库).这将使链接器尝试使用该库
boost_thread-vc100-mt-gd-1_50.lib(请注意,缺少lib-preffix).
湾 禁用自动链接
您可以定义BOOST_ALL_NO_LIB,然后在链接器选项中添加库的确切名称
| 归档时间: |
|
| 查看次数: |
3715 次 |
| 最近记录: |