我现在处于巨大的抑郁症中!我花了 2 天时间尝试使用 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 中。
现在我想创建一个通用项目。
现在,我在这里使用为在 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。
我还设置了项目-->属性-->配置属性-->C/C++-->常规-->附加包含目录到 C:\Python27_amd64\include
同样,我还将项目-->属性-->配置属性-->链接器-->常规设置为 C:\Python27_amd64\libs;"C:\local\boost_1_54_0\lib64-msvc-9.0" 。
现在,当我使用 x64 调试器进行编译时。它给了我一个错误
test8.exe 中 0x00000000 处未处理的异常:0xC0000005:位置 0x0000000000000000 处的访问冲突。
自从过去 2 天以来,我感到很震惊……但那是我从那以后最接近的一次。请帮我!