Dlib编译错误Converting std::__cxx11::string to std::string

在编译Dlib的时候总是无法通过,报错信息包含Converting std::__cxx11::string to std::string

🤔

一开始以为是Dlib的问题,但是在github查询发现dlib的作者davis认为这个是编译器错误1。以错误信息作为关键词继续检索在stackoverflow发现这样一则解释2,原来是gcc5.4要求编译与链接的库文件采用统一的ABI版本3。所以,技术ldd命令一看,libstdc++.so.6路径里居然有Anaconda

反正也不常用,干脆卸载了它。然后就一切正常了。

理论上将Anaconda从系统PATH变量中去掉也可以,如果你遇到类似的问题不妨试试看。

REF