Mac M1系统配置C++环境

最近在学习计算机图形学,需要配置C++环境和opencv来编译作业代码,于是我就开始折腾下M1如何编译C++代码了。

# 安装依赖

首先你需要安装Mac下的包管理器 homebrew (opens new window),官网有详细的安装教程,我就不赘述了。

接下来安装C++相关的依赖:

brew install gcc cmake
1

然后是图形学相关的依赖:

brew install eigen opencv
1

# 配置头文件路径

This script installs Homebrew to its preferred prefix (/usr/local for macOS Intel, /opt/homebrew for Apple Silicon and /home/linuxbrew/.linuxbrew for Linux) so that you don’t need sudo when you brew install.

homebrew 官网有描述M1的安装路径更改到 /opt/homebrew 了。所以我们需要指定头文件路径,这里我们指定到 /opt/homebrew/include

export CPATH=/opt/homebrew/include
export LIBRARY_PATH=/opt/homebrew/lib
1
2

把上述代码添加到 .bashrc 文件,如果你使用的是 zsh 请添加到 .zshrc 文件。

# 检测头文件路径

gcc -x c++ -v -E /dev/null 
1

如果输出结果有 /opt/homebrew/include 就说明配置成功了。

# 总结

配置环境看似简单,但找到解决方案需要花不少时间,这里主要问题是M1下安装路径不同,所以我们需要指定头文件路径。

# 参考

Installing a C/C++ library with homebrew on M1 Macs (opens new window)

在 Mac OS 下配置 GAMES101 开发环境 (opens new window)

View default include path of C headers in Mac OS X by gcc -v? (opens new window)