配置:错误:C++编译器无法创建可执行文件

问题描述 投票:0回答:6

我正在尝试从 https://sourceforge.net/projects/sserver/?source=typ_redirect 安装 Robocup 模拟器。正如构建文件夹中的自述文件中所述,我必须执行 /.configure 但出现此错误。

saurabh@saurabh-GL502VM:~/intelligent_systems/project/rcssserver-15.3.0$ ./configure 
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for g++... no
checking for c++... no
checking for gpp... no
checking for aCC... no
checking for CC... no
checking for cxx... no
checking for cc++... no
checking for cl.exe... no
checking for FCC... no
checking for KCC... no
checking for RCC... no
checking for xlC_r... no
checking for xlC... no
checking whether the C++ compiler works... no
configure: error: in `/home/saurabh/intelligent_systems/project/rcssserver-15.3.0':
configure: error: C++ compiler cannot create ex

现在当我检查我的 g++ 编译器时。

saurabh@saurabh-GL502VM:~/intelligent_systems/project/rcssserver-15.3.0$ g++ -v
The program 'g++' is currently not installed. You can install it by typing:
sudo apt install g++

但是当我尝试安装 g++ 编译器时,我得到了这个:

saurabh@saurabh-GL502VM:~/intelligent_systems/project/rcssserver-15.3.0$ sudo apt install g++
Reading package lists... Done
Building dependency tree       
Reading state information... Done
g++ is already the newest version (4:5.3.1-1ubuntu1).
The following packages were automatically installed and are no longer required:
  cpp-4.8 libcloog-isl4 xserver-xorg-legacy
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded.

现在我应该怎么安装模拟器呢?谢谢!

c++ g++
6个回答
6
投票

apt-get
可以找到多个版本的g++,甚至可以并排安装它们。但显然命令行上的“g++”必须只是其中之一的快捷方式。您可以使用
sudo update-alternatives --config g++
更改该快捷方式。


2
投票

首先确保 g++ 在您的 PATH 变量中。

echo $PATH
看看它是否至少包含
/bin:/usr/bin

然后尝试

find / -name g++
,如果找到它,请将包含的文件夹添加到PATH。

如果这没有帮助,请尝试重新安装 g++

apt-get remove g++; apt-get install g++


1
投票

检查configure命令中使用的编译器版本。我通过命令 g++ --version 检查了 g++ 版本。显示4.9.2。所以我指定编译器为g++-4.9.2。但命令 g++-4.9.2 没有别名。唯一可用的编译器是 g++-4.9。因此它会通过在命令行上手动输入来检查可用的 g++ 版本确切命令。


0
投票

列出所有 gcc 安装和链接

ls -la /usr/bin | grep gcc

首先尝试

ls /usr/lib/gcc
,如果存在,尝试
ln -s /usr/lib/gcc /usr/bin/gcc
PATH=$PATH:/usr/lib/gcc
并执行
./configure
(如果已安装,肯定可以工作!)

不同的 Linux 发行版存在一个值得注意的问题,首先删除并重新安装 g++

$: apt remove g++
$: apt install g++

搜索gcc并添加,如果没有输出任何内容尝试添加它

$: which gcc  

如果找到,将其添加到 PATH(如果已创建软链接,则添加到 /usr/bin/gcc 中,或者直接添加到 /usr/lib/gcc 中),

$: PATH=$PATH:/usr/lib/gcc

如果结果什么都没有(可能需要一段时间)尝试,(这里尝试构建你自己的,也许可行。否则)

$:find / -name gcc

通常是 /usr/lib/gcc,如果可用,请创建一个到 /usr/bin/gcc 位置的软链接

ln -s /**/*/gcc /usr/bin/gcc

奔跑

./configure

应该可以。


0
投票

当我尝试使用

clang
libc++
构建项目时,我也遇到了同样的错误。经过对
config.log
文件的探索后,我发现我的系统中缺少
libc++abi-9-dev
软件包(基于 rpm 的 deb 软件包的命名可能略有不同)。安装上面的包后,错误消失了


0
投票

如果您是为了解决 Centos 6.10 上的相同问题,请这样做

sudo yum groupinstall "Development Tools" -y

就我而言,我只是想念他们

© www.soinside.com 2019 - 2024. All rights reserved.