我遇到了类似的错误,同时尝试使用Boost.Python的从C++访问蟒蛇Python包。让我首先说我对C++ Boost库的个人印象是,它们是一个带有不完整文档的好主意。 boost.org上有大量的文档,但似乎忽略了一些关键细节,作者认为这些细节过于微不足道,无法提及。但是,让我摆脱我的肥皂盒...
我希望[希望最终]能够理解如何让Boost.Python在我的系统上工作的持续动力是,有这么多伟大的Python科学软件包[ SymPy,Numpy,SciPy,matplotlib等]包含在Anaconda发行版中,如果从使用Qt Creator构建的C++项目访问它们真的很棒。 Boost文档似乎表明Boost.Python应该为我做到这一点。可惜的是,这些文件似乎离开了关键细节,作者似乎认为过于琐碎,打扰提...
无论如何,最初,我表明python.h找不到生成错误。我被加入这两个声明,我的Qt Creator的项目的.pro文件,分不清哪里升压安装了包括文件和QMAKE摆脱这种地方蟒蛇安装在我的系统上的文件python.h:
INCLUDEPATH += C:\boost_1_55_0
INCLUDEPATH += C:\Anaconda\include
之后,我得到一个LNK1104错误,指出找不到'python27.lib'。通过将这两个语句添加到我的.pro文件中,我摆脱了这一点。第一个告诉qmake在哪里可以找到Anaconda的python27.lib文件。第二个告诉qmake在哪里找到提升。python binary:
LIBS += "C:/Anaconda/libs"
LIBS += "C:/boost_1_55_0/stage/lib/libboost_python-vc110-mt-gd-1_55.lib"
但是,就目前为止我已经得到了。我现在收到一个错误,指出它无法打开我尚未找到修复程序的文件'C:/Anaconda/libs.obj'。当然,错误是由该文件不存在引起的。面临的挑战是要发现为什么要寻找它并在哪里找到它。
“C++运行Python模块”是什么意思?要做到这一点,你必须[嵌入Python解释器](http://docs.python.org/2/extending/embedding.html)。只是做'#包括'不会那样做。 –
abarnert
2013-04-24 19:59:04
同时,您是否阅读过[在Windows上构建C和C++扩展](http://docs.python.org/2/extending/windows.html)和[链接要求](http://docs.python.org/ 2/extends/embedding.html#linking-requirements)(用于嵌入)?你是否打算静态或动态地嵌入你的解释器?你在哪里得到你想要嵌入的翻译? – abarnert 2013-04-24 20:02:31
从Python源代码构建Python库可能更容易。 – Aya 2013-04-24 20:03:55