gpt4 book ai didi

c++ - Boost.Python 找不到 pyconfig.h。它需要去哪里?

转载 作者:搜寻专家 更新时间:2023-10-31 01:49:08 25 4
gpt4 key购买 nike

我在 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 依赖项吗?

[编辑] 添加了代码片段

最佳答案

尝试命令:

g++ -g -shared -fPIC -I/usr/include/python2.7 decision.cpp -lpython2.7 -lboost_python -o decision.so

关于c++ - Boost.Python 找不到 pyconfig.h。它需要去哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16914383/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com