boost库二次封装的问题

跟随我 2018-05-25 11:06:21
我在一个静态库里面包含boost库,在编译时也把boost库放进来了,但是使该自定义库时,还是提示找不到boost库。



错误 1 error LNK1104: 无法打开文件“libboost_thread-vc100-mt-gd-1_53.lib” C:\testlib\testlib\LINK testlib
...全文
307 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
跟随我 2018-05-25
  • 打赏
  • 举报
回复
搞定收工了。。
跟随我 2018-05-25
  • 打赏
  • 举报
回复
Boost的自动链接功能 Boost是一个强大的C++第三方库,但是Boost的各种问题实在是很让人蛋疼。我搜到过一篇文章关于LuaBind使用Boost Build管理工具来管理源代码以及编译的博文,其第一句话就是Fuck The Boost!it is the pain of ass! 那个采用Boost Build来编译LuaBind我最后完成了,但是很是蛋疼。 现在又出现了Boost链接的问题,经过多方搜索,以及尝试。个人对Boost 的自动链接机制如下: Boost默认启用自动链接功能,而且是静态链接。它会根据当前的编译器预定义宏判断是否是DEBUG,什么版本的编译器,然后自动链接libXXX-vc100-mt-gd-1_52.lib这样的文件。其中lib的代表着是静态LIB库文件,vc100指编译器版本(在VS2008中它会自动链接vc90这样的文件),gd代表debug,release,没有gd选项。这样的自动链接功能非常烦恼,当升级了VS时,要重新用新编译器编译Boost库。 如果要开启自动链接功能,而且是动态链接的话,定义 BOOST_ALL_DYN_LINK。这样它就自动链接 XXX-vc100-mt-gd-1_52.lib. 建议采用关闭自动链接功能。 在附加预定义宏 加 BOOST_ALL_NO_LIB ,这样就关闭了BOOST的自动链接LIB的功能。然后把需要的lib库在附加库里手动加入。
跟随我 2018-05-25
  • 打赏
  • 举报
回复
我自定义的静态库,里面包含了boost库,以及其它多很库,只有boost库打包不进来,提示找不到,其它都行
zgl7903 2018-05-25
  • 打赏
  • 举报
回复
把 xxx.lib 拷贝到你项目的和源码一起的目录下
Saleayas 2018-05-25
  • 打赏
  • 举报
回复
你编译静态库的时候,是不需要任何库的。 只有你最后生成可执行代码的时候,才需要所有的库。

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧