gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 19:44:53 25 4
gpt4 key购买 nike

我正在开发一个可以通过编写 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 代表静态,但自动链接功能似乎选择了一个动态库,我希望它全部静态链接到一个可执行文件中。

正则表达式库也会发生同样的情况:我编译了相同的 4 个正则表达式库,快速测试显示了这个链接错误:

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

怎么办?

最佳答案

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

关于c++ - Boost 自动链接库不是由 Boost 构建的,但预期的库是构建的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3460316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com