前段时间将macOS系统更新到Monterey12.1后,发现R包安装不上了,所有的报错信息都指向的编译错误。在经过搜索与分析相关报错信息后,最终将问题解决。解决方法如下:
首先,安装CommandLineTools(如已安装请忽略):xcode-select --install
安装好后,在/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk文件夹下会有所有编译所需要的文件,下面就针对报错信息将所需的文件软连接到目标文件夹下。
报错1:fatal error: \'stdlib.h\' file not found
解决方法:sudo ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/* /usr/local/include
报错2:ld: framework not found CoreFoundation
解决方法:sudo ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/* /Library/Frameworks
报错3:ld: library not found for -lc++
解决方法:sudo ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib/* /usr/local/lib