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

Mac OS X下Rcpp编译错误:-mtune=选项不支持'core2'参数

解决ARM64 Mac上Rcpp编译报错unsupported argument 'core2' to option '-mtune='

问题根源

你在ARM64架构的Mac(M系列芯片)上编译Rcpp代码时,clang编译器报错不支持-mtune=core2参数——这个参数是针对Intel x86架构的CPU优化选项,不适用于ARM64芯片。大概率是之前使用Intel Mac时配置的编译参数未更新,或者R的默认编译配置残留了x86相关设置。

解决方案

1. 永久修改编译配置(推荐)

编辑~/.R/Makevars文件(如果没有则创建),移除或替换-mtune=core2参数:

# 替换为适合ARM64的编译参数
CXXFLAGS += -O3 -mcpu=native -std=gnu++17
CCFLAGS += -O3 -mcpu=native

-mcpu=native会自动适配当前Mac的ARM芯片,也可以根据具体芯片指定(比如-mcpu=apple-m1、-mcpu=apple-m2)。

2. 临时覆盖编译参数(单次生效)

在R会话中先运行以下命令,再执行sourceCpp:

Sys.setenv(CXXFLAGS = "-O3 -mcpu=native -std=gnu++17")
sourceCpp("bug.cpp")

3. 确认R的架构匹配

运行以下命令检查R是否为ARM64版本:

Sys.getenv("R_ARCH")

如果返回/arm64则正常;若返回/x86_64,说明安装了Intel版本的R,需要重新下载安装ARM64版本的R。

内容的提问来源于stack exchange,提问作者Rob Bradley

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 02:26:02