如何配置CMake项目引入Linux内核头文件?编译报错求助
内核头文件编译错误排查请求
内核版本:5.19.0-38-generic
已执行命令sudo apt-get install linux-headers-$(uname -r)安装对应内核头文件。
问题现象
在代码中引入<linux/module.h>后出现大量编译错误,示例代码如下:
#include <linux/module.h> int main() { return 0; }
典型报错信息:rwonce.h:64:8: error: unknown type name '__no_sanitize_or_inline'
查看compiler_types.h文件,发现__no_sanitize_or_inline相关定义处于注释分支中:
# define __no_kasan_or_inline __no_sanitize_address notrace __maybe_unused # define __no_sanitize_or_inline __no_kasan_or_inline #else # define __no_kasan_or_inline __always_inline #endif
当前CMake配置
cmake_minimum_required(VERSION 3.25) project(testproj C) include_directories("/usr/src/linux-headers-5.19.0-38-generic/include/") include_directories("/usr/src/linux-headers-5.19.0-38-generic/arch/x86/include/") include_directories("/usr/src/linux-headers-5.19.0-38-generic/arch/x86/include/generated") set(CMAKE_C_STANDARD 11) add_executable(testproj main.c)
恳请协助解决该编译错误问题。
内容的提问来源于stack exchange,提问作者Qada
相关产品推荐
相关产品推荐

