1、 error: ‘type name’ declared as function returning an array
方法:因为 gcc 版本太低了,升级到 5.3 即可解决
gcc -v #查看版本
sudo apt-get update
#如果提示未安装,还需要先安装它的包:
sudo apt-get install software-properties-common
sudo apt-get install gcc-5 g++-5
cd /usr/binsudo rm gcc
sudo ln -s gcc-5 gcc
sudo rm g++
sudo ln -s g++-5 g++
2、/ usr/bin/ld: cannot find -lxxx
会发生这样的原因有以下三种情形:
1 系统没有安装相对应的 lib
2 相对应的 lib 版本不对
3 lib(.so 档) 的 symbolic link 不正确,没有连结到正确的函式库文件 (.so)
#以lltdl为例
apt-cache search libltdl-dev
#若link不正确,上一步能找到libltdl-dev
cd /usr/lib
ln -s libXtst.so.6 libXtst.so
#否则说明没有,安装
apt-get install libxtst-dev
3、libstdc++.so.6: version `GLIBCXX_3.4.20' not found
系统自带的 gcc 版本过低,与1问题相同,方法类似
gcc -v #查看版本
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get upgrade
#sudo apt-get install gcc-4.9 g++-4.9
sudo apt-get install gcc-5 g++-5