【问题标题】:How to use 'boost_python-vc110-mt-gd-1_54.lib' in C++?如何在 C++ 中使用“boost_python-vc110-mt-gd-1_54.lib”?
【发布时间】:2013-09-23 09:42:46
【问题描述】:

我正在尝试使用 BoostPython 用 C++ 编写程序。

我的预设是:

一个。 Win32 控制台应用程序。

b.属性->C/C++->常规->附加包含目录->C:\Python27\include;C:\Program Files\boost\boost_1_54_0;

c。 Property->Linker->General->Additional Library Directions->C:\Python27\libs;

d。 Microsoft Visual Studio 2012 速成版 + Python 27 + Boost 1.54

我的代码如下:

#include <boost/python.hpp>
using namespace boost::python;

int main( int argc, char ** argv ) 
{
    return 0;
}

如您所见,此代码带有一个空的 main 函数。我收到一条错误消息

错误 LNK1104:无法打开文件 'boost_python-vc110-mt-gd-1_54.lib'

我检查了 boost ('bootstrap.bat'+'bjam.exe') 的安装,并在安装了 boost 库的文件夹中搜索了 'boost_python-vc110-mt-gd-1_54.lib',但什么也没找到。

我查找了一些类似的帖子,与我的问题不同,他们错过的 lib 文件带有前缀“lib”。另一方面,我发现this post 与我的非常相似。但是我发现 OP 在解决他/她的问题时犯了一个错误。也就是说,Boost 与 python 2.2 及其更新版本兼容。他的其余回答对我没有帮助。

我猜这个问题可能是因为我在安装过程中做错了什么,或者我在将库链接到我的应用程序时出错了。

谁能帮我解决这个问题?一个详细的解决方案会很棒。非常感谢。 :)

================================================ ===============

编辑:

我已经使用预构建的二进制文件重新安装了 Boost。现在我可以链接到编译器要求的 lib 文件。然而,新的问题也随之而来。现在我有两个新错误:

错误 LNK2001:无法解析的外部符号 __imp___Py_NoneStruct

错误 LNK1120:1 个未解决的外部问题

当我注释掉#include &lt;boost/python.hpp&gt;这行时,上面的错误就消失了。

我实在想不通原因。谁能帮我这个?非常感谢。

【问题讨论】:

  • C:\Python27\libs 中是否有 boost python lib?或者它在不同的目录中?你建好了吗?
  • @doctorlove 我查看了 C:\Python27\libs,但没有这样的库。这是否意味着提升没问题,但 Python 设置有问题?

标签: c++ boost-python


【解决方案1】:

您已将 C:\Python27\libs 文件夹添加到链接器设置中,但其中没有 boost 文件。
您需要运行 boost 的 bjam 来生成 boost 库文件。很多提升只是标题,但是您需要构建一些库。
完成后,您需要将目录添加到

“属性->链接器->常规->附加库目录”

【讨论】:

  • 我再次运行'bjam.exe'并在网上做了一些搜索,发现lib应该在'C:\Program Files\boost\boost_1_54_0\stage\lib',但现在它不存在了。所以它不起作用。
  • 这真的是一个不同的问题。它报告了任何错误吗?如果是这样呢?如果没有错误,它会将它们放在硬盘上的某个位置。
  • 是的,它会报告错误。唯一的消息是错误 LNK1104: cannot open file 'boost_python-vc110-mt-gd-1_54.lib'
  • “它”是指当您尝试构建 boost 库时的 boost jam。
  • 我已经删除了 boost,现在正在重新安装它。
【解决方案2】:

我发现这个错误是因为 Boost 库没有正确安装在我的计算机上。实际上,关键是 bjam,必须运行它来构建所有这些必要的库。

我会建议其他遇到此问题的人,如果您不知道如何正确运行 bjam,请去搜索 Boost 的预构建二进制文件。这可以为您节省大量时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-15
    • 2012-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-17
    • 2019-01-14
    • 1970-01-01
    相关资源
    最近更新 更多