在macOS Monterey用CLion打开Linux内核时出现Pre-configuration code:2错误
解决Linux内核在macOS上编译的链接器错误
问题原因
macOS默认的ld是苹果自家的链接器,不支持Linux内核构建所需的--version参数,导致内核构建脚本判定链接器不兼容。
修复步骤
安装GNU Binutils
使用Homebrew安装GNU版本的binutils(包含兼容的GNU链接器):brew install binutils- 英特尔Mac的GNU链接器路径:
/usr/local/bin/ld.gold - Apple Silicon Mac的路径:
/opt/homebrew/bin/ld.gold
- 英特尔Mac的GNU链接器路径:
验证链接器安装
执行以下命令确认GNU链接器可用:# 替换为你的实际路径 /usr/local/bin/ld.gold --version输出应显示GNU链接器的版本信息,而非苹果的链接器。
手动指定链接器执行构建命令
在终端运行make时,显式指定使用GNU链接器:# 生成默认配置 make LD=/usr/local/bin/ld.gold defconfig # 或打开菜单配置 make LD=/usr/local/bin/ld.gold menuconfig配置CLion使用GNU链接器
打开CLion的设置(快捷键Cmd+,):- 进入
Build, Execution, Deployment > Toolchains - 选中当前使用的工具链(通常是"Default")
- 在"Environment variables"中添加新条目:
LD=/usr/local/bin/ld.gold(替换为你的实际路径) - 保存设置后重启CLion,重新尝试构建项目。
- 进入
内容的提问来源于stack exchange,提问作者Dolphin
相关产品推荐
相关产品推荐

