看看我是否写过任何像
这样的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
如何删除此错误?
答案 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