Boost.Python 找不到 pyconfig.h。它需要去哪里?
Boost.Python can't find pyconfig.h. Where does it need to go?
我在main.cpp中编写了一个非常简单的c++函数:
#include <iostream>
using namespace std;
int SomeCalculation(float x){
int decision = 0;
if (x > 1){
decision = 1;
}
return decision;
}
我现在正尝试使用Boost.Python将其编译为共享库。为此我创建了decision.cpp:
#include <boost/python.hpp>
BOOST_PYTHON_MODULE(decision)
{
using namespace boost::python;
def("main", main);
}
不幸的是,我得到以下错误:
In file included from /usr/include/boost/python/detail/prefix.hpp:13:0,
from /usr/include/boost/python/args.hpp:8,
from /usr/include/boost/python.hpp:11,
from decision.cpp:1:
/usr/include/boost/python/detail/wrap_python.hpp:50:23: fatal error: pyconfig.h: File or folder does not exist.
compilation terminated.
因为我不知道这个文件在哪里,所以我做了一个简单的sudo find / -name pyconfig.h
,它找到了几个pyconfig.h文件。因此,我只是简单地复制了对我来说最通用的文件版本,到我正在工作的文件夹:
cp /usr/include/python2.7/pyconfig.h /home/kram/c++/cmod/pyconfig.h
再次运行我的编译命令(g++ -fPIC -g -ggdb -c decision.cpp -o decision.so
)给出了与之前相同的错误。
有谁知道我如何解决这个pyconfig.h依赖?
[edit]添加代码
尝试命令:
g++ -g -shared -fPIC -I/usr/include/python2.7 decision.cpp -lpython2.7 -lboost_python -o decision.so
相关文章:
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 为什么野牛仍在使用"int yylex(void)",却找不到"int yylex(YYS
- 提升 Python 找不到 dll 文件
- 在使用 cmake 和 pybind11 构建示例应用程序时找不到 Python.h
- 从 c++ 中运行 python 脚本,找不到模块
- 为什么“ld:找不到 -lstdc++ 的库”,当我使用 pybind11 为 c++ 库打包我的 python 绑定时
- C++ python 中的函数来自使用 ctypes 的.dll - 找不到函数和访问冲突
- 运行时错误:找不到与 ImageSensor 匹配的 Python 模块
- 嵌入式Python找不到一些模块(ctypes,..)
- /usr/local/include/tk.h:71:13:致命错误:安装 Python 库时找不到'X11/Xlib.h'文件
- C++找不到 python 库.代码阻止GNU GCC
- Ubuntu - 链接 boost.python - 致命错误:找不到 pyconfig
- C 和 Python,找不到Py_InitModule方法
- Python distutils拒绝识别已安装的C++编译器,在Python 3.5下“找不到vcvarsall.bat
- Eclipse 找不到 libnppc.so.7.0 库来运行 python 代码,其中包含使用 CUDA 库的 Opencv 命令
- 找不到文件 <Python.h>
- 导入python包时找不到Armadillo库(OS X, python 2.7)
- Boost.Python 找不到 pyconfig.h。它需要去哪里?
- Protobuf Python 找不到包含