centos7中报错/home/dyc/Desktop/Test5/mymodule/Plus/message.c:10:19: fatal error: regex.h: No such file or directory #include <regex.h>
时间: 2023-09-09 09:12:00 浏览: 147
这个错误提示是因为在你的代码中使用了regex.h头文件,但是系统中没有安装相应的库文件。你可以通过以下步骤解决该问题:
1. 确认系统中是否安装了正则表达式库文件,可以使用以下命令进行检查:
```
yum search regex
```
如果没有安装,则需要安装相应的库文件。
2. 执行以下命令安装正则表达式库文件:
```
yum install -y glibc-common glibc-devel glibc-headers
```
如果已经安装了正则表达式库文件,则可以尝试更新库文件。
3. 执行以下命令更新库文件:
```
yum update glibc
```
更新完成后重新编译运行程序即可。
相关问题
我在centos7中自己编写了一个内核模块,但是在通过makefile进行make时,却报错fatal error: linux/regex.h: No such file or directory #include <linux/regex.h> ^ compilation terminated. make[2]: *** [/home/dyc/Desktop/Test5/mymodule/Plus/message.o] Error 1 make[1]: *** [_module_/home/dyc/Desktop/Test5/mymodule/Plus] Error 2 make[1]: Leaving directory `/usr/src/kernels/3.10.0-957.el7.x86_64' make: *** [default] Error 2
这个错误提示是因为编译器找不到 linux/regex.h 这个头文件,可能是因为您的操作系统中没有安装相应的开发包。
您可以尝试安装 gcc、make 和 kernel-devel(或者 kernel-headers)等开发环境,方法如下:
1. 安装 gcc 和 make
```
sudo yum install gcc make
```
2. 安装 kernel-devel 或 kernel-headers(根据您的内核版本选择)
```
sudo yum install kernel-devel-$(uname -r)
```
或
```
sudo yum install kernel-headers-$(uname -r)
```
3. 进入您的内核模块目录,执行 make 命令
```
cd /path/to/your/module
make
```
如果还有问题,请提供更多的错误信息和您的内核模块代码。
阅读全文