此错产生原因为:c++11与旧的c++库函数实现存在差异,当本地的c++代码动态库为旧版本c++库所实现,而编译器g++5,gcc5将其解释为std::__cxx11,就会出现未定义错误,那么需要指定编译器的版本为g++4,gcc4,再进行编译时就不会发生上述问题,
相关命令:
1、编译器版本查看
gcc -v,g++ -v
2、安装相应版本编译器
sudo apt-get install gcc-4.8
3、更改默认编译器版本
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100 #100为版本优先级,越大越好。
之后再输入gcc -v ,g++ -v进行查看,如果只更改gcc版本未4.8而g++版本还为5,那么g++编译器依然会使用gcc5来进行编译,因此、需同时更改g++,gcc版本。