【问题标题】:Failed to build boost_python example code "fatal error LNK1181: cannot open input file 'boost_python.lib'"无法构建 boost_python 示例代码“致命错误 LNK1181:无法打开输入文件 'boost_python.lib'”
【发布时间】:2019-11-28 22:07:21
【问题描述】:

我对提升 python 还很陌生,我正在尝试学习本教程:https://www.boost.org/doc/libs/1_63_0/libs/python/doc/html/tutorial/tutorial/hello.html。完全按照教程操作,我在使用 b2 或 bjam 构建项目时收到此错误:

“致命错误LNK1181:无法打开输入文件'boost_python.lib'”

我相信我已经正确配置了我的 user-config.jam、jamfile 和 jamroot 文件。

我在这里也看到了这个帖子: LNK1181: cannot open input file 'boost_python.lib' in windows, boost_1_68_0 但似乎没有提供该问题的解决方案。相反,建议根本不需要 bjam/b2,这似乎与 boost 文档中的教程相矛盾。

然后,同一用户建议“链接”boost python 和 python 库,我认为这意味着将它们的目录添加到系统环境变量中。我已经这样做了,但我相信我可能误解了他的意思。

该线程还链接到此页面: https://docs.microsoft.com/en-us/visualstudio/python/working-with-c-cpp-python-in-visual-studio?view=vs-2017 详细介绍了 Python 的 c++ 扩展的创建,但是在阅读之后我没有看到任何关于 boost 的提及,除了在文章的最后传递。

我还在整个 boost 目录中搜索了一个“boost_python.lib”文件,但它似乎不存在。任何帮助将不胜感激。

【问题讨论】:

    标签: python boost build boost-python b2


    【解决方案1】:

    快速的 Google 搜索让我得到了这个答案:

    您需要使用以下命令构建共享的 boost_python 库:

    bjam toolset=msvc --prefix=..\\%BOOST_PREFIX% --with-python 
    --python=2.7 release link=shared --build-type=complete 
    address-model=64 install 
    

    您可能需要调整一些选项,但它应该像其他人一样工作。

    -u/GeeDeexd

    【讨论】:

    • 我在 Boost 库主目录中运行此命令,将 Python 2.7 替换为 3.7。花了一点时间来完成,但一切看起来都很好。完成后,我尝试再次构建教程项目,但我得到了完全相同的错误,没有任何变化。
    • 你的代码是什么?教程看起来很简单,你的代码可能有错别字
    • 教程中的代码不变;它直接来自安装。根据教程,我所做的唯一更改是 jamroot 和 jamfiles。这是我系统上的文件夹:s000.tinyupload.com/?file_id=42708165367669569226
    • 还值得注意的是,我在尝试构建任何我自己的代码或任何其他示例项目时遇到了同样的错误。
    • 嗯,尝试运行教程提供的代码。它有效吗?如果没有,请尝试重新安装所有需要的文件(bjam 等)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-19
    • 2014-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多