2013-11-21 43 views
3

我最近安装了libechonest和其所有的依赖,尚未包括在/usr/local/include/echonest/其头文件(我必须指定整个路径,即#include "/usr/local/include/echonest/Artist.h"而不是仅仅#include <Artist.h>GCC找不到头文件在/ usr /本地/包括

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

这是为什么根据海湾合作委员会的文档应该看在/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 

我搜查,发现大量的类似#include GCC的问题,但唯一一个专门对付查找文件中/usr/local/includewas specific to XCode问题。

显然让我知道你是否需要任何更多的信息,并一如既往地提前感谢您的帮助。

回答

2

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

#include <echonest/Artist.h> 
+2

这将是一个无可避免的灾难,如果它*会*递归搜索......我只是在我的'/ usr/include'中计数了六个不同的'error.h'。 :-D – DevSolar