我有以下提升:python代码(gona.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);
}
int main(){
return 0;
}
我在系统中安装了1.47(boost pro)(Windows 7 32位)。 我使用Microsoft Visual Studio 2010来构建它,并且已经成功构建。但我想在python代码中使用它(作为导入)。我有以下代码片段(setup.py)将它构建到python模块中。
from distutils.core import setup
from distutils.extension import Extension
setup(name="PackageName",
ext_modules=[
Extension("hello", ["gona.cpp"],
libraries = ["boost_python", "boost"])
])
“gona”是文件C ++文件名。我使用以下命令在命令行中构建它。
python setup.py build
执行此操作后,出现以下错误。
>python setup.py build
running build
running build_ext
building 'hello' extension
C:\MinGW\bin\gcc.exe -mdll -O -Wall -IC:\Python27\include -IC:\Python27\PC -c De
cision_Tree.cpp -o build\temp.win32-2.7\Release\gona.o
gona.cpp:9:35: fatal error: boost/python/module.hpp: No such file or di
rectory
compilation terminated.
error: command 'gcc' failed with exit status 1
似乎我系统中的boost安装仅适用于Visual Studio(因为它已成功构建)。我在Visual Studio中运行其他的boost程序没有问题。 我如何将其构建为python模块,以便可以在python代码中导入它? (使用命令行或Visual Studio)
答案 0 :(得分:0)
这里有几件事: