我想编译一个在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库的理解可能会更好......
我想编译一个在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库的理解可能会更好......
由于上面的注释说你需要使用#include。如果这不起作用,您可能需要导出指向头文件的环境变量C_INCLUDE_PATH
。
如果做不到这一点,为什么不尝试加入-I/usr/local/include
您gcc
通话,有点像gcc myfile.c -I/usr/local/include -o myexe
作品! (这是$ C_INCLUDE_PATH的事情) – ian93 2013-05-14 16:53:24
您使用了“”还是你使用<>?你应该使用“” – Magn3s1um 2013-05-14 15:53:46
我试过#include和#include“/usr/local/include/pcre.h”,但都没有工作。 –
ian93
2013-05-14 15:59:07
如果你的项目是在本地,那么只需要放入“include/pcre.h”,但是,我认为完整路径不应该是一个问题。如果你有这个库,并且把它定义为一个用户定义的库(用引号,而不是<>),那么一切都应该是好的。您还需要pcre_wrap.h,而不是pcre.h;确保你有,并包括 – Magn3s1um 2013-05-14 16:11:44