cmake fatal error: linux/init.h: No such file or directory
时间: 2023-12-31 16:05:23 浏览: 212
这个错误通常是由于在Linux系统上编译某个程序时,缺少了必要的内核头文件所致。你可以尝试安装相应的内核头文件,具体方法如下:
1. 打开终端,在命令行中输入以下命令,安装内核头文件。
```
sudo apt-get install linux-headers-$(uname -r)
```
2. 如果上述命令无法解决问题,你可以尝试安装完整的内核源代码。
```
sudo apt-get install linux-source
```
然后在编译程序时,指定内核源代码的路径即可,例如:
```
cmake -D LINUX_SOURCE_DIR=/usr/src/linux-source-4.15.0 -D ...
```
其中,/usr/src/linux-source-4.15.0 是内核源代码的路径,你需要根据实际情况进行修改。
相关问题
cmake fatal error: asm/sysreg-defs.h: No such file or directory
这个错误提示通常出现在在Linux系统上使用CMake编译时,缺少asm/sysreg-defs.h头文件。这个头文件通常属于内核开发包,如果你没有安装内核开发包的话,就会出现这个错误。
如果你确定已经安装了内核开发包,可以尝试在CMakeLists.txt文件中添加以下代码:
```
include_directories(/usr/include/asm-generic/)
```
这样可以告诉CMake在编译时搜索这个目录下的头文件。如果还是无法解决问题,可以尝试升级内核开发包或者尝试使用其他版本的内核开发包。
阅读全文