系统上未安装 C++ 编译器

4 投票
1 回答
3110 浏览
提问于 2025-04-19 18:23

我正在尝试安装一个叫做GDAL的Python包,具体信息可以在这个链接找到:http://trac.osgeo.org/gdal/wiki/GdalOgrInPython

我已经成功安装了依赖项:Python 2.7.8、Numpy 1.8.2、libgdal 1.10.0和gdal-devel。不过,当我使用这个命令时:

pip install GDAL==1.10.0

我遇到了一些错误:

gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I../../port -I../../gcore -I../../alg -I../../ogr/ -I/usr/local/include/python2.7 -I/root/.local/lib/python2.7/site-packages/numpy/core/include -I/usr/local/include -c extensions/gdal_wrap.cpp -o build/temp.linux-x86_64-2.7/extensions/gdal_wrap.o

gcc: extensions/gdal_wrap.cpp: 系统上没有安装C++编译器

错误:命令'gcc'失败,退出状态为1

这是我的系统信息:

# lsb_release -a

LSB版本: :core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-ia32:printing-4.0-noarch

发行商ID:CentOS

描述: CentOS发布5.10(最终版)

版本: 5.10

代号: Final

# cat /proc/version

Linux版本2.6.18-274.el5 (mockbuild@builder10.centos.org) (gcc版本4.1.2 20080704 (Red Hat 4.1.2-50)) #1 SMP Fri Jul 22 04:43:29 EDT 2011

这是我的编译器信息:

# gcc --version

gcc (GCC) 4.4.6 版权所有 (C) 2010 自由软件基金会,Inc.

# g++ --version

g++ (GCC) 4.1.2 20080704 (Red Hat 4.1.2-54) 版权所有 (C) 2006 自由软件基金会,Inc.

我还尝试使用:

# pip install --no-install GDAL==1.10.0
# cd /tmp/pip_build_root/GDAL && python setup.py build

但结果还是出现了同样的错误。

最后,我尝试通过以下方式从源代码构建它:

# ./configure --with-python
# make
# make install

不幸的是,还是出现了同样的错误。

我对此感到很困惑。你能给我一些提示吗?谢谢。

1 个回答

1

gcc (GCC) 4.4.6 版权所有 (C) 2010 自由软件基金会

g++ (GCC) 4.1.2 20080704 (Red Hat 4.1.2-54) 版权所有 (C) 2006 自由软件基金会

所以你确实有一个 C++ 编译器……但你没有适用于你正在使用的工具链 gcc 4.4.6 的 C++ 编译器。

你有两个选择:

  1. 安装 g++ 4.4.6。很可能只需要运行 yum install gcc-c++yum install gcc44-c++ 之类的命令。
  2. 用 gcc 4.1.2 来配置,而不是 4.4.6。假设 4.1.2 可以用 gcc-4.1 这样的名字找到,这可能意味着在配置或设置步骤之前运行 export CC=gcc-4.1,但你可能还需要使用一些选择工具链的命令。

第一个选择几乎肯定是更好的主意。

如果你在这两个选择上需要帮助,那其实更像是在使用 Unix 或设置 RHEL/CentOS 的问题,而不是编程(尤其是 Python 编程!);在 Unix StackExchange 上的 这个问题 可能对你有帮助。

撰写回答