Rumah  >  Soal Jawab  >  teks badan

源码安装了gcc-5.4.0,为什么找不到unordered_map.h等头文件?

公司的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等等,我加上去了也不行。请大神们看看!感谢!


高洛峰高洛峰2865 hari yang lalu1020

membalas semua(3)saya akan balas

  • 欧阳克

    欧阳克2016-11-16 14:13:44

    是不是只是编译了,没有执行make install?那些头文件什么的应该是install时拷贝的。你安装在你自己的目录下也可以,不过最好还是安装到/usr/local下面,这里也不会干扰系统的。而且因为这样源码安装的gcc有一个默认搜索路径是/usr/local/include。检查一下有没有configure时写对prefix?

    balas
    0
  • 三叔

    三叔2016-11-16 14:13:27

    有没有使用find,可以试试locate unordered_map.h

    balas
    0
  • 欧阳克

    欧阳克2016-11-16 14:13:14

    c++的头文件在一个叫c++的文件夹里面,搜索一下看看~~
    不过,没有unordered_map.h这个文件,有的是unordered_map,c++的头文件是没有扩展名的
    如果你确实要找unordered_map.h,它可能在bits文件夹下面,不过名字不是绝对是这个,这个看编译器怎么起名

    balas
    0
  • Batalbalas