【问题标题】:Where is Location stdio.h file in Linux of gcc.7.2 compiler?gcc.7.2编译器Linux中的位置stdio.h文件在哪里?
【发布时间】:2018-02-13 01:20:55
【问题描述】:

我找不到stdio.h 文件。我正在使用 Linux mint 18.2 XFCE 和 gcc-7.2 编译器。

这是find . -type f -name stdio.h的输出

smit@smit-Aspire-5742:/usr/lib/gcc$ find . -type f -name stdio.h
./i686-w64-mingw32/5.3-win32/include/ssp/stdio.h
./i686-w64-mingw32/5.3-win32/include/c++/tr1/stdio.h
./i686-w64-mingw32/5.3-posix/include/ssp/stdio.h
./i686-w64-mingw32/5.3-posix/include/c++/tr1/stdio.h
./x86_64-w64-mingw32/5.3-win32/include/ssp/stdio.h
./x86_64-w64-mingw32/5.3-win32/include/c++/tr1/stdio.h
./x86_64-w64-mingw32/5.3-posix/include/ssp/stdio.h
./x86_64-w64-mingw32/5.3-posix/include/c++/tr1/stdio.h

我不想要文件 mingw。这是一个我很少使用的交叉编译器。我找不到gcc-7.2编译器的stdio.h文件?? 我是不是找错目录了??

【问题讨论】:

  • 使用locate 查找文件...
  • @MarcGlisse 意思是???
  • 有一个叫g**gle的东西,如果你在里面输入locate+linux,它会提供很多信息。

标签: linux gcc location stdio


【解决方案1】:

您正在寻找错误的位置。 stdio.h 不在/usr/lib/gcc 中,而是在/usr/include

<> 基本上是 C/C++ 中/usr/include(或您在-I 编译器标志之后指定的任何目录)的快捷方式。所以

#include <myheader.h>

将包括/usr/include/myheader.h

#include <file/otherheader.h> 

将包括/usr/include/file/otherheader.h 这意味着由于您通常将stdio.h 包含在

#include <stdio.h>

位置将是/usr/include/stdio.h

【讨论】:

    【解决方案2】:

    默认情况下,gcc 在不同的目录中查找:

     /usr/local/include
     libdir/gcc/target/version/include
     /usr/target/include
     /usr/include
    

    你可以看看the documentation

    【讨论】:

      【解决方案3】:

      这是一个 .h 文件,它是一个标头,因此, /usr/include/stdio.h ?

      【讨论】:

      • @SMIT PATIL:抱歉,打错字
      猜你喜欢
      • 2012-09-30
      • 1970-01-01
      • 2017-02-09
      • 1970-01-01
      • 2018-02-23
      • 1970-01-01
      • 2012-07-05
      • 2018-04-29
      • 2012-11-17
      相关资源
      最近更新 更多