无法在Visual Studio 2008中生成Boost.python。编译会出错

时间:2013-09-15 20:34:47

标签: visual-studio python-2.7 boost-python

我现在处于巨大的萧条中!我花了两天时间尝试使用boost.python。请指导我!我会解释我做了什么。

我有Winows 7 64位。 Python是64位2.7.3安装在C:\ Python27_amd64 现在,我使用boost_1_54_0.zip并在F:目录中解压缩。 我使用cmd。

自举

这会创建project-config.jam。我编辑并插入

使用msvc:9.0; 使用python:2.7:C:\ Python27_amd64 \ python:C:\ Python27_amd64 \ include:C:\ Python27_amd64 \ libs;

现在我做

。\ b2

此过程运行20分钟,我被告知已成功构建了boost。

之后我从http://sourceforge.net/projects/boost/files/boost-binaries/安装了boost二进制文件 二进制文件安装在C:\ local \ boost_1_54_0中。

现在我要创建一个General项目。

现在,我使用在C ++中嵌入python的代码

#include <boost/python.hpp>
#include <boost/detail/lightweight_test.hpp>
#include <iostream>
namespace py = boost::python;  
using namespace std; 

int main()
{

  // Initialize the interpreter
  Py_Initialize();
  py::object main_module = py::import("__main__");  
  py::object main_namespace = main_module.attr("__dict__");
  py::exec("print 'Hello, world'", main_namespace);
  py::exec("print 'Hello, world'[3:5]", main_namespace);
  py::exec("print '.'.join(['1','2','3'])", main_namespace);

}

我将VC ++目录中的头文件和库分别设置为F:\ boost_1_54_0 \ boost_1_54_0和F:\ boost_1_54_0 \ boost_1_54_0 \ stage \ lib。

我还设置项目 - &gt;属性 - &gt;配置属性 - &gt; C / C ++ - &gt;常规 - &gt;其他包含目录到C:\ Python27_amd64 \ include

同样,我还设置了项目 - &gt;属性 - &gt;配置属性 - &gt;接头 - &GT;一般到C:\ Python27_amd64 \ libs;“C:\ local \ boost_1_54_0 \ lib64-msvc-9.0”。

现在我使用x64调试器进行编译。它给了我一个错误

test8.exe中0x00000000处的未处理异常:0xC0000005:位置0x0000000000000000处的访问冲突。

自从过去两天以来,我很震惊......但那是我从那以后最接近的。请帮帮我!

1 个答案:

答案 0 :(得分:1)

所以你的意思是运行时错误,对吧? 我认为你应该首先确保boost :: python本身没有抛出异常。 首先尝试使用catch(...)设置围绕python调用的try块 如果发现异常,很可能是boost :: python :: error_already_set异常。 那么,您应该像here

那样解码它
相关问题