使用Clion 阅读/修改/注释 Linux 内核源码

https://www.cnblogs.com/rincloud/p/16157863.html

 

clion makefile 工程编译取消cmake

  你想要在 CLion 中对 Makefile 工程取消 CMake 依赖、纯用 Makefile 编译,核心是让 CLion 跳过 CMake 配置流程,直接使用 Makefile 构建。以下是完整的配置步骤,亲测适配 Linux 内核这类纯 Makefile 项目:

步骤 1:关闭 CLion 的 CMake 自动配置

  1. 打开 CLion,进入项目后点击顶部菜单栏 FileSettings(快捷键 Ctrl+,);
  2. 找到 Build, Execution, DeploymentCMake
  3. 选中当前的 CMake 配置(如 Debug),点击 - 按钮删除所有 CMake 配置项;
  4. 点击 Apply 保存,此时 CLion 不会再尝试加载 CMake 相关配置。

步骤 2:配置 CLion 的 Makefile 构建规则

  1. 继续在 Settings 中,进入 Build, Execution, DeploymentBuild ToolsMakefile
    • Make path:选择系统的make(如 /usr/bin/make),如果是 Yocto 工具链的make,则指定工具链路径下的make(如 /opt/poky/4.2.7/sysroots/x86_64-pokysdk-linux/usr/bin/make);
    • Build directory:填写你的 Makefile 工程根目录(如 /home/orbit15/nfsroot/linux-imx);
    • Arguments:填写 Makefile 的编译参数(适配你之前的内核编译场景):
      plaintext
      ARCH=arm64 CROSS_COMPILE=aarch64-poky-linux- Image dtbs modules -j$(nproc)
    • Clean arguments(可选):填写清理指令,方便一键清理:
      plaintext
      ARCH=arm64 clean
      关键配置项设置:
  2. 点击 ApplyOK 保存配置。

步骤 3:配置运行 / 调试(Run/Debug Configurations)

  1. 点击顶部菜单栏 RunEdit Configurations
  2. 点击 + 按钮,选择 MakefileMakefile
  3. 配置项说明:
    • Name:自定义名称(如 Linux Kernel Build);
    • Makefile:选择工程根目录的Makefile(如 /home/orbit15/nfsroot/linux-imx/Makefile);
    • Target:留空(或填写all,CLion 会自动用步骤 2 配置的 Arguments);
    • Working directory:工程根目录;
    • Before launch:清空所有默认项(如 Build),避免重复编译;
     
  4. 点击 ApplyOK

步骤 4:执行编译(验证配置)

  1. 点击 CLion 右侧边栏的 Build 按钮(锤子图标),或顶部菜单栏 BuildBuild Project
  2. CLion 会直接调用make命令,执行你配置的编译参数,全程不涉及 CMake;
  3. 编译日志会输出在底部的 Build 面板中,可查看编译进度和报错信息。

关键注意事项

  1. 环境变量加载:如果依赖 Yocto 工具链(如aarch64-poky-linux-gcc),需先在终端加载工具链环境,再启动 CLion:
    bash
     
    运行
    # 加载Yocto SDK环境
    source /opt/poky/4.2.7/environment-setup-aarch64-poky-linux
    # 从终端启动CLion
    clion.sh
    否则 CLion 无法找到aarch64-poky-linux-gcc工具链。
  2. 大项目索引优化:Linux 内核这类超大 Makefile 项目,CLion 代码索引可能较慢,可关闭不必要的索引:
    • SettingsEditorFile Types → 排除*.o*.ko等编译产物;
    • SettingsBuild, Execution, DeploymentCompiler → 关闭External annotations
     
  3. 避免 CLion 自动生成 CMakeLists.txt:不要在工程根目录创建CMakeLists.txt,否则 CLion 会优先识别为 CMake 项目。

总结

  1. 取消 CMake 的核心是删除 CMake 配置项 + 配置纯 Makefile 构建规则
  2. 必须先加载工具链环境再启动 CLion,确保交叉编译工具链可被识别;
  3. 配置后 CLion 会直接调用make命令编译,完全跳过 CMake 流程,适配 Linux 内核等纯 Makefile 工程。
 
如果配置后仍提示 “CMake 未配置”,可重启 CLion 并确认已删除所有 CMake 配置项,或检查 Makefile 路径是否正确。
 
posted @ 2026-01-13 10:46  微笑的''80  阅读(10)  评论(0)    收藏  举报