fatal error: linux/compiler-gcc9.h: No such file or directory

linux

找到README文件

复制代码
cd /mnt/e/CLionProjects/linux-3.10.99/linux-3.10.99
sudo useradd linux3x
sudo passwd linux3x
sudo mkdir /home/linux3x
sudo chown linux3x:linu3x /home/linux3x
sudo chmod 755 /home/linux3x
su - linux3x
mkdir ~/build
mkdir ~/build/kernel
exit
make O=/home/linux3x/build/kernel menuconfig
make O=/home/linux3x/build/kernel
# sudo make O=/home/linux3x/build/kernel modules_install install

mzh@DESKTOP-GITL67P:~$ gcc --version

gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0

Copyright (C) 2019 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

因为当前gcc版本是9.x, 找不到 compiler-gcc9.h, 复制compiler-gcc5.h成compiler-gcc9.h

Kernel doesn't support PIC mode for compiling?

bash 复制代码
# force no-pie for distro compilers that enable pie by default
KBUILD_CFLAGS += $(call cc-option, -fno-pie)
KBUILD_CFLAGS += $(call cc-option, -no-pie)
KBUILD_AFLAGS += $(call cc-option, -fno-pie)
KBUILD_CPPFLAGS += $(call cc-option, -fno-pie)

cp E:\CLionProjects\linux-3.10.99\linux-3.10.99\include\linux\compiler-gcc5.h E:\CLionProjects\linux-3.10.99\linux-3.10.99\include\linux\compiler-gcc9.h

CLion头文件报错

标红,不能跳转

sudo cp -r ./include/linux/ /usr/local/include/

不要copy到/usr/include, 否则当前运行的操作系统坏了。

mzh@DESKTOP-GITL67P:/mnt/e/CLionProjects/linux-3.10.99/linux-3.10.99$ sudo rsync -avz ./include/ /usr/local/include/

但是这样会重复定义,所以还是用vim算了。

mzh@DESKTOP-GITL67P:/usr/local/include$ rm -rf acpi/ asm-generic/ clocksource/ config/ crypto/ drm/ dt-bindings/ generated/ keys/ linux3x/ math-emu/ media/ memory/ misc/ net/ pcmcia/ ras/ rdma/ rxrpc/ scsi/ sound/ target/ trace/ uapi/ video/ xen/

sudo apt-get install ctags

$ cat tags.sh

bash 复制代码
#/bin/bash

WORKDIR="/mnt/e/CLionProjects/linux-3.10.99/linux-3.10.99"
find "${WORKDIR}" -name "*.[c|h]" | xargs ctags -f "${WORKDIR}/tags"
find /usr/include -name "*.h" | xargs ctags -a "${WORKDIR}/tags"

ctags -a 表示追加索引内容到tags文件。Linux不依赖libc.so,所以不需要添加/usr/include。

./tags.sh

在~/.vimrc中添加

set tags="/mnt/e/CLionProjects/linux-3.10.99/linux-3.10.99/tags"

对于报错Time skewed

sudo ntpdate -uv time.windows.com

相关推荐
思茂信息2 分钟前
CST软件基于液态金属开关的方向图可重构天线
服务器·算法·重构·cst·仿真软件·电磁仿真
曾阿伦6 分钟前
netcat / ncat / socat 用法详解与示例
linux·http·信息与通信
zhping10118 分钟前
Ubuntu 登录密码忘记
运维·服务器·ubuntu
wh_xia_jun10 分钟前
Playwright 自动化实战指南 - 以 12306 余票查询为例
运维·自动化
Benszen21 分钟前
Secret详解
linux·运维·服务器
极验25 分钟前
智能体时代的自动化对抗:Agent Bot 与隐匿技术共舞
运维·自动化
烈焰晴天32 分钟前
Codex 桌面端如何链接Figma MCP 服务器拿到 Figma设计稿精准尺寸等结构化数据 来精准还原UI
服务器·ui·figma
Dlrb121144 分钟前
Linux网络编程-网络基础概念(IP, UDP协议)
linux·服务器·网络·网络基础·端口号·ip协议·udp协议
shushangyun_1 小时前
汽车服务行业B2B平台+AI解决方案哪家专业:2026年最新测评
java·运维·网络·数据库·人工智能·汽车
施努卡机器视觉1 小时前
SNK施努卡转子自动化生产线:从铁芯上料到下线,精密装配方案
运维·自动化