GCC在/usr/local/include中找不到头文件

GCC not finding header files in /usr/local/include

本文关键字:找不到 文件 local usr GCC include      更新时间:2023-10-16

我最近安装了libechonest及其所有依赖项,但还没有包括它的头文件(在/usr/local/include/echonest/中,我必须指定整个路径,即#include "/usr/local/include/echonest/Artist.h",而不仅仅是#include <Artist.h>:

alexcannon$ gcc -g -o geoEchoNest geoEchoNest.c -lechonest
geoEchoNest.c:6:10: fatal error: 'Artist.h' file not found
#include "Artist.h"

为什么会这样?根据GCC文档,默认情况下应在/usr/local/include中查找:

GCC在几个不同的地方查找标头。在一个普通的Unix系统上,如果你没有>指示它,它会在中查找用#include请求的头

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

我该怎么修?我对其他库也有同样的问题,例如,我必须使用#include "/usr/local/include/QtCore/QDebug"而不是include <QDebug>,所以这不仅仅是一个回声巢问题。

/usr/local/include的权限为drwxrwxr-x。这是我的gcc信息:

alexcannon$ gcc -v
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-    include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.0 (clang-500.2.76) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin12.5.0
Thread model: posix

我搜索并发现了许多类似的#includeGCC问题,但唯一一个专门处理在/usr/local/include中查找文件的问题的是XCode。

如果你需要更多信息,请告诉我,并一如既往地提前感谢你的帮助。

include路径不会递归搜索,请尝试此操作。

#include <echonest/Artist.h>