c程序中包含的头文件的默认路径是什么?

时间:2011-10-20 09:53:27

标签: c linux gstreamer

看看我是否写过任何像

这样的c文件
#include "header.h"

然后它将在当前目录中搜索此文件

但是当我写作

#include <header.h>

那么它会去哪里找到这个文件? 什么是c程序中包含的头文件的defualt路径?

看到我在/ usr / local中安装了gstreamer但是当我包括

#include <gst/gst.h>

我正在打招呼fatal error: gst/gst.h: No such file or directory

如何删除此错误?

6 个答案:

答案 0 :(得分:14)

尝试运行gcc -v -E -。当我这样做时,部分输出如下:

#include <...> search starts here:
 /usr/lib/gcc/i686-linux-gnu/4.6.1/include
 /usr/local/include
 /usr/lib/gcc/i686-linux-gnu/4.6.1/include-fixed
 /usr/include/i386-linux-gnu
 /usr/include

这不是gstreamer问题的答案,但我希望这仍然有帮助!

here

拉出来

答案 1 :(得分:6)

默认路径为

/usr/local/include
/usr/include

如果使用其他路径,则可以使用-I标志添加编译命令。在您的情况下,假设您有/usr/local/gst/include目录,您可以添加-I/usr/local/gst/include并使用#include <whatever_you_need.h>

答案 2 :(得分:4)

搜索的路径取决于实现(和当前配置)。查找包含路径的正确方法是使用pkg-config

pkg-config --cflags gstreamer

答案 3 :(得分:4)

<>内容的默认路径为/usr/include,至少在Unix上。

您可以使用-I /my/new/path编译器选项添加任意数量的默认路径。

答案 4 :(得分:2)

您可以在以下位置找到这些文件:

/usr/include

答案 5 :(得分:1)

`gcc -print-prog-name=cc1` --verbose