2013-05-14 158 views
0

我想编译一个在FreeBSD上使用正则表达式的C程序。我检查了/ usr/local/include,并且文件pcre.h肯定存在。GCC编译器无法找到pcre.h

但是,无论我做什么,我得到以下编译器错误:

/usr/home/myname/project/include/pcre_wrap.h:4:18: error: pcre.h: No such file or directory 

可能是什么回事?我对Unix上的C库的理解可能会更好......

+0

您使用了“”还是你使用<>?你应该使用“” – Magn3s1um 2013-05-14 15:53:46

+0

我试过#include 和#include“/usr/local/include/pcre.h”,但都没有工作。 – ian93 2013-05-14 15:59:07

+0

如果你的项目是在本地,那么只需要放入“include/pcre.h”,但是,我认为完整路径不应该是一个问题。如果你有这个库,并且把它定义为一个用户定义的库(用引号,而不是<>),那么一切都应该是好的。您还需要pcre_wrap.h,而不是pcre.h;确保你有,并包括 – Magn3s1um 2013-05-14 16:11:44

回答

2

由于上面的注释说你需要使用#include。如果这不起作用,您可能需要导出指向头文件的环境变量C_INCLUDE_PATH

如果做不到这一点,为什么不尝试加入-I/usr/local/includegcc通话,有点像gcc myfile.c -I/usr/local/include -o myexe

+0

作品! (这是$ C_INCLUDE_PATH的事情) – ian93 2013-05-14 16:53:24