Python.h:没有这样的文件或目录

Python.h:没有这样的文件或目录

我正在尝试在 Arch Linux 下构建omniORB 4.1.6。当我输入 时make,消息如下:

../../../../../src/tool/omniidl/cxx/idlpython.cc:188:26: fatal error:  python3.3/Python.h: No such file or directory
#  include PYTHON_INCLUDE

我确信 python3 和 python2 都已安装,并且我记得上次我尝试在 Linux Mint 下做同样的事情时遇到了同样的问题。当时我用这个命令解决了这个问题:

sudo apt-get install python-dev

然而,Arch 似乎并没有将 python-dev 与 python 分开。我检查了我的/usr并在 下找到了 Python.h /usr/include/python3.3m,那么我现在应该做什么?

答案1

正常运行

./configure

在跑步之前make应该正确设置一些东西,但在今年秋天,情况似乎并非如此。

Python 3.3.X 将其头文件放入.../include/Python3.3m,而 2.7.x 使用 .../include/python2.7(没有任何后缀),也许omniORB(尚)不知道该后缀m

您可以使用以下命令建立从 python3.3m 到 python3.3 的链接:

cd /usr/include
ln -s python3.3m python3.3

并重试构建过程(假设使用 python3.3 配置,根据需要--prefix=/usr进行调整)。cd

答案2

对于那些已经安装了 python-dev 包但仍然出现错误的人;

我认为PYTHON配置命令行上的参数是文件的目录Python.h...不,使用解释器的路径。

我在omniORB中创建并使用了一个“build”目录;

cd "omniORB install loc"; mkdir build; cd build; ...

您可以将 Python 的位置作为配置命令行的一部分给出。

../configure ... PYTHON=/usr/bin/python3

就我而言,安装了 OmniORB/opt并将/opt其用作其主目录:

../configure --prefix=/opt/omniORB.build.4.3.0 --with-omniORB-config=/opt/omniORB.build.4.3.0/omniORB.cfg --with-omniNames-logdir=$HOME/logs PYTHON=/usr/bin/python3

相关内容