我正在尝试使用C ++扩展Python 3.2,我正在设置Boost,并使用在线Python指南中的示例代码对其进行测试。
C ++代码,hellomodule.cpp:
#include <iostream>
using namespace std;
void say_hello(const char* name) {
cout << "Hello " << name << "!\n";
}
#include <boost/python/module.hpp>
#include <boost/python/def.hpp>
using namespace boost::python;
BOOST_PYTHON_MODULE(hello) {
def("say_hello", say_hello);
}
Python代码,setup.py:
#!/usr/bin/env python
from distutils.core import setup
from distutils.extension import Extension
setup(name="PackageName",
ext_modules = [
Extension("hello", ["hellomodule.cpp"],
libraries = ["boost_python"])
]
)
然后我尝试通过打开命令提示符并运行“python setup.py build”来构建模块,但它抱怨无法找到vcvarsall.bat,但是通过向环境添加适当的路径解决了这个问题。变量
然而,它现在失败了,因为它无法找到hellomodule.cpp,这是因为它正在MSVC ++ 2008目录中查找它。没有下载MSVC ++ 2008标准版并重建我的项目,有没有办法解决这个问题?