我试图在FreeBSD上编译一个使用正则表达式的C程序。我已经检查了/usr/local/include,文件pcre.h肯定在那里。然而,无论我做什么,我都会得到以下编译器错误:
/usr/home/myname/project/include/pcre_wrap.h:4:18: error: pcre.h: No such file or directory
有什么问题吗?我对Unix上的C库的理解可能会更好。
2ul0zpep1#
正如上面的注解所说,你需要使用#include。如果这不起作用,您可能需要导出一个指向头文件的环境变量C_INCLUDE_PATH。如果不行,为什么不尝试将-I/usr/local/include添加到gcc调用中,类似于gcc myfile.c -I/usr/local/include -o myexe
C_INCLUDE_PATH
-I/usr/local/include
gcc
gcc myfile.c -I/usr/local/include -o myexe
z0qdvdin2#
在M1 MacOS中构建Golang模块时,我遇到了一个稍微不同的错误,brew install pcre只对我不起作用。github.com/glenn-brown/golang-pkg-pcre/src/pkg/pcre ../.gvm/pkgsets/go1.20/global/pkg/mod/github.com/glenn-brown/ email protected(https://stackoverflow.com/cdn-cgi/l/email-protection) /src/pkg/pcre/pcre.go:52:10:致命错误:未找到“pcre.h”文件#生成了<pcre.h>include ^~ 1错误。它可以通过创建一个符号链接来解决:
brew install pcre
sudo ln -s /opt/homebrew/include /usr/local/include
2条答案
按热度按时间2ul0zpep1#
正如上面的注解所说,你需要使用#include。如果这不起作用,您可能需要导出一个指向头文件的环境变量
C_INCLUDE_PATH
。如果不行,为什么不尝试将
-I/usr/local/include
添加到gcc
调用中,类似于gcc myfile.c -I/usr/local/include -o myexe
z0qdvdin2#
在M1 MacOS中构建Golang模块时,我遇到了一个稍微不同的错误,
brew install pcre
只对我不起作用。github.com/glenn-brown/golang-pkg-pcre/src/pkg/pcre ../.gvm/pkgsets/go1.20/global/pkg/mod/github.com/glenn-brown/ email protected(https://stackoverflow.com/cdn-cgi/l/email-protection) /src/pkg/pcre/pcre.go:52:10:致命错误:未找到“pcre.h”文件#生成了<pcre.h>include ^~ 1错误。
它可以通过创建一个符号链接来解决: