Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 无法在Visual Studio 2008中生成Boost.python。编译出错_Visual Studio_Python 2.7_Boost Python - Fatal编程技术网

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

Visual studio 无法在Visual Studio 2008中生成Boost.python。编译出错,visual-studio,python-2.7,boost-python,Visual Studio,Python 2.7,Boost Python,我现在很沮丧!我花了两天时间尝试使用boost.python。请引导我!我会解释我做了什么 我有Winows7 64位。 Python是64位的2.7.3版本,安装在C:\Python27\u amd64上。 现在,我使用boost_1_54_0.zip并在F:目录中解压。 我使用cmd 引导 这将创建project-config.jam。我编辑它并插入 使用msvc:9.0; 使用python:2.7:C:\Python27\u amd64\python:C:\Python27\u amd64

我现在很沮丧!我花了两天时间尝试使用boost.python。请引导我!我会解释我做了什么

我有Winows7 64位。 Python是64位的2.7.3版本,安装在C:\Python27\u amd64上。
现在,我使用boost_1_54_0.zip并在F:目录中解压。 我使用cmd

引导

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

使用msvc:9.0; 使用python:2.7:C:\Python27\u amd64\python:C:\Python27\u amd64\include:C:\Python27\u amd64\libs

现在我知道了

.\b2

这个过程运行了20多分钟,我被告知boost已经成功构建

之后,我从安装boost二进制文件 二进制文件安装在C:\local\boost\u 1\u 54\u 0中

现在我想创建一个通用项目

现在,我使用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);
#包括
#包括
#包括
名称空间py=boost::python;
使用名称空间std;
int main()
{
//初始化解释器
Py_初始化();
py::object main_module=py::import(“_main__;”);
py::object main_namespace=main_module.attr(“u dict_u”);
py::exec(“打印‘Hello,world’”,主名称空间);
py::exec(“打印‘Hello,world’[3:5]”,main_名称空间);
py::exec(“print.”。join(['1','2','3']),main_名称空间);
}

我将VC++目录中的头文件和库分别设置为F:\boost\u 1\u 54\u 0\boost\u 1\u 54\u 0和F:\boost\u 1\u 54\u 0\boost\u 1\u 54\u 0\stage\lib

我还将项目-->属性-->配置属性-->C/C++-->常规-->附加包含目录设置为C:\Python27\u amd64\Include

同样,我还将项目-->属性-->配置属性-->链接器-->常规设置为C:\Python27\u amd64\libs;“C:\local\boost\u 1\u 54\u 0\lib64-msvc-9.0”

现在,当我使用x64调试器编译时。这给了我一个错误

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


从过去的两天开始我就被打动了…但这是我从那时起最接近的一次。请帮帮我

那么你的意思是运行时错误,对吗? 我认为您应该首先确保boost::python本身不会引发异常。 首先尝试使用catch(…)在python调用周围设置try块 如果捕获到异常,则很可能是boost::python::error\u ready\u set异常。 那么,你应该像这样解码它