我正在尝试从 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.
现在我应该怎么安装模拟器呢?谢谢!
apt-get
可以找到多个版本的g++,甚至可以并排安装它们。但显然命令行上的“g++”必须只是其中之一的快捷方式。您可以使用 sudo update-alternatives --config g++
更改该快捷方式。
首先确保 g++ 在您的 PATH 变量中。
echo $PATH
看看它是否至少包含 /bin:/usr/bin
。
然后尝试
find / -name g++
,如果找到它,请将包含的文件夹添加到PATH。
如果这没有帮助,请尝试重新安装 g++
apt-get remove g++; apt-get install g++
检查configure命令中使用的编译器版本。我通过命令 g++ --version 检查了 g++ 版本。显示4.9.2。所以我指定编译器为g++-4.9.2。但命令 g++-4.9.2 没有别名。唯一可用的编译器是 g++-4.9。因此它会通过在命令行上手动输入来检查可用的 g++ 版本确切命令。
列出所有 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
应该可以。
当我尝试使用
clang
和 libc++
构建项目时,我也遇到了同样的错误。经过对 config.log
文件的探索后,我发现我的系统中缺少 libc++abi-9-dev
软件包(基于 rpm 的 deb 软件包的命名可能略有不同)。安装上面的包后,错误消失了
如果您是为了解决 Centos 6.10 上的相同问题,请这样做
sudo yum groupinstall "Development Tools" -y
就我而言,我只是想念他们