加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – Boost自动链接不是由Boost构建的库,但是构建了预期的库

发布时间:2020-12-16 10:27:58 所属栏目:百科 来源:网络整理
导读:我正在开发一个Math应用程序,可以通过编写 python脚本来扩展它. 我使用Qt 4.6.3(构建为静态库,调试和发布版本)和Boost 1.43.0(构建为静态库,运行时链接也设置为静态,多线程版本,调试和发布).一切都是用MSVC 2008构建的.Boost构建了以下库: libboost_python-
我正在开发一个Math应用程序,可以通过编写 python脚本来扩展它.

我使用Qt 4.6.3(构建为静态库,调试和发布版本)和Boost 1.43.0(构建为静态库,运行时链接也设置为静态,多线程版本,调试和发布).一切都是用MSVC 2008构建的.Boost构建了以下库:

> libboost_python-vc90-mt-s-1_43.lib
> libboost_python-vc90-mt-s.lib
> libboost_python-vc90-mt-sgd-1_43.lib
> libboost_python-vc90-mt-sgd.lib

我的项目编译,但在链接阶段给出以下错误:

1>Linking...
1>LINK : fatal error LNK1104: cannot open file 'boost_python-vc90-mt-gd-1_43.lib'

为什么不选择我编译的库之一?

我认为库名中的s代表静态,但是自动链接功能似乎选择了一个动态库,我希望它在一个可执行文件中静态链接.

regex库也是如此:我编译了相同的4个正则表达式库并且快速测试显示了这个链接错误:

1>LINK : fatal error LNK1104: cannot open file 'libboost_regex-vc90-mt-gd-1_43.lib'

该怎么办?

解决方法

您可以定义BOOST_ALL_NO_LIB.这可以防止自动链接boost库,然后必须手动链接所需的boost库.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读