You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编译自制OS Lesson9时遇fatal error:头文件找不到

解决Makefile编译时头文件找不到的问题

步骤1:明确文件夹结构

先确认你的项目层级(确保路径对应):

Create_Your_Own_OS/
    Lesson9/
        include/
            hwComms/
                port.h
        src/
            hwComms/
                port.cpp
        Makefile

步骤2:修正源文件中的#include语句

将src/hwComms/port.cpp里的包含语句改成:

#include <hwComms/port.h>

或者

#include "hwComms/port.h"

无需在路径前添加include/前缀,后续通过Makefile配置编译器自动搜索该目录。

步骤3:修改Makefile添加头文件搜索路径

在Lesson9目录下的Makefile中,添加头文件目录变量,并将其传入编译器的搜索路径参数:

# 指定头文件根目录(Makefile所在目录下的include文件夹)
INCLUDE_DIRS := ./include

# 编译器编译选项,-I参数用于指定头文件搜索路径
CXXFLAGS := -Wall -Wextra -g $(addprefix -I,$(INCLUDE_DIRS))

# 示例编译规则:编译port.cpp生成目标文件
src/hwComms/port.o: src/hwComms/port.cpp
    $(CXX) $(CXXFLAGS) -c $< -o $@

如果你的Makefile位于Create_Your_Own_OS根目录,需要将INCLUDE_DIRS改为./Lesson9/include,确保路径指向正确。

步骤4:验证编译

执行以下命令清理旧编译文件并重新编译:

make clean && make

此时编译器会自动从指定的include目录下查找hwComms/port.h,不会再出现找不到文件的错误。

内容的提问来源于stack exchange,提问作者Tiago Mendes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 15:20:09