公司的linux服务器是基于redhat修改的,原来安装了gcc-4.4.4,由于对c++11支持不好,因此想升级gcc。由于该机器是同事公用的,所以不想影响其他同时,在自己的目录下用gcc-5.4.0的源码进行安装。安装完成之后gcc-5.4.0下有如下几个目录:
bin 有gcc g++ c++等二进制文件,g++ -v输出版本确实为5.4.0
include 没有任何文件,经查询,发现老版本的gcc在/usr/include/c++/4.4.4/目录下能找到stl头文件
lib 一些库文件
lib64 一些库文件
libexec 一些库文件
share 其他信息
google了半天也都是说什么没加-std=c++11等等,我加上去了也不行。请大神们看看!感谢!
c++
的頭文件在一個叫c++
的文件夾裡面,搜尋一下看看~~不過,沒有
unordered_map.h
這個文件,有的是unordered_map
,c++
的頭文件是沒有副檔名的如果你確實要找
unordered_map.h
,它可能在bits
資料夾下面,不過名字不是絕對是這個,這個看編譯器怎麼取名有沒有使用
find
,可以試試locate unordered_map.h
是不是只是編譯了,沒有執行make install?那些頭檔什麼的應該是install時拷貝的。你安裝在你自己的目錄下也可以,但最好還是安裝到/usr/local下面,這裡也不會幹擾系統的。而且因為這樣原始碼安裝的gcc有一個預設搜尋路徑是/usr/local/include。
檢查一下有沒有configure寫對prefix?