検索

ホームページ  >  に質問  >  本文

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

公司的linux服务器是基于redhat修改的,原来安装了gcc-4.4.4,由于对c++11支持不好,因此想升级gcc。由于该机器是同事公用的,所以不想影响其他同时,在自己的目录下用gcc-5.4.0的源码进行安装。安装完成之后gcc-5.4.0下有如下几个目录:

  1. bin       有gcc g++ c++等二进制文件,g++ -v输出版本确实为5.4.0

  2. include     没有任何文件,经查询,发现老版本的gcc在/usr/include/c++/4.4.4/目录下能找到stl头文件

  3. lib       一些库文件

  4. lib64      一些库文件

  5. libexec     一些库文件

  6. share      其他信息

google了半天也都是说什么没加-std=c++11等等,我加上去了也不行。请大神们看看!感谢!

伊谢尔伦伊谢尔伦2772日前476

全員に返信(3)返信します

  • 大家讲道理

    大家讲道理2017-04-17 14:55:16

    c++ のヘッダー ファイルは c++ というフォルダーにあります。探してください~~
    ただし、unowned_map.hこのファイル、一部は unowned_map です。c++ のヘッダー ファイルには拡張子がありません。
    本当に unowned_map.h を見つけたい場合は、 , bits フォルダーの下にある可能性がありますが、名前はコンパイラの命名方法によって異なります。

    返事
    0
  • PHP中文网

    PHP中文网2017-04-17 14:55:16

    find を使用したことがありますか? locate unowned_map.h を試してみてください。

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 14:55:16

    make installを実行せずにコンパイルしただけなのでしょうか?これらのヘッダー ファイルはインストール中にコピーする必要があります。独自のディレクトリにインストールすることもできますが、システムに干渉しない /usr/local にインストールすることをお勧めします。このため、ソース コードからインストールされた gcc には、デフォルトの検索パス /usr/local/include が設定されます。
    構成中に正しいプレフィックスを書き込んだかどうかを確認してください。

    返事
    0
  • キャンセル返事