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

时间:2017-04-12 03:41:18

标签: c++ g++ robocup

我正在尝试从https://sourceforge.net/projects/sserver/?source=typ_redirect安装Robocup模拟器。正如在构建它的文件夹中的README文件中所提到的,我必须执行/.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 ++ compilier时,我得到了这个:

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.

现在,我该怎么做才能安装模拟器?谢谢!

5 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

首先确保g ++在你的PATH变量中。 echo $PATH看看它是否至少包含/bin:/usr/bin

然后尝试find / -name g++,如果找到了,请将包含的文件夹添加到PATH。

如果这没有帮助,请尝试重新安装g ++ apt-get remove g++; apt-get install g++

答案 2 :(得分:1)

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

答案 3 :(得分: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

应该可以。

答案 4 :(得分:0)

当我尝试使用 myScore = 0 while ans := input("Roll...").lower() == "r": # ... do something else: print("Now I'll see if I can break your score...") clang 构建项目时,我也遇到了同样的错误。经过对 libc++ 文件的一些探索,我发现需要 config.log 包,而我的系统中缺少该包(基于 rpm 的 deb 包的名称可能略有不同)。安装上面的包后,错误消失了