gcc - gcc 在 mac os catalina 上找不到头文件
问题描述
我正在安装一个无法用 Apple 的 gcc 编译的包(称为 CLASS,在宇宙学中广泛使用)。
我尝试通过 homebrew (gcc-9) 和 anaconda 分别安装 gcc。但是他们都找不到标准的 C 库文件,例如 stdio.h、math.h 等。我看到这个问题在 mac 中很常见。我在/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/
. 专注于 anaconda gcc(版本 4.8.5),然后我将文件复制到/Users/satadru/anaconda2/include/
. 现在简单的 C 代码,例如“hello world”代码运行良好。但是当我尝试安装 CLASS 包时,我得到了由有问题的库文件引起的错误:stdio.h,math.h!当我尝试使用自制 gcc-9 安装软件包时(将库文件复制到其相关目录之后),我得到了同样的错误。我知道很多人可以毫无问题地在 catalina 上运行该软件包。
现在我有以下问题:
所有标准 C 库头文件都相同吗?也就是说,anaconda gcc 4.8.5 还是 gcc-9,头文件都一样吗?头文件是否在不同的操作系统上有所不同,比如 linux 或 mac os?
anaconda gcc 是否在以下位置查找头文件
/Users/satadru/anaconda2/include/
?在将所有头文件复制到 之前
/Users/satadru/anaconda2/include/
,该目录中存在一些。为什么anaconda gcc安装的时候没有把自己所有的头文件都放在这个目录下?我们在 linux 操作系统上做的时候是一样的吗?如何解决我的问题?我联系了包的所有者,他说他自己在 mac os catalina 上运行代码,但从未遇到过这个问题。
更多信息:
xcode-select --install
给
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
which gcc
给/Users/satadru/anaconda2/bin/gcc
gcc -v
给
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/Users/satadru/anaconda2/bin/../libexec/gcc/x86_64-apple-darwin11.4.2/4.8.5/lto-wrapper
Target: x86_64-apple-darwin11.4.2
Configured with: ./configure --prefix=/Users/ray/mc-x64-3.5/conda-bld/gcc-4.8_1477649012852/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac --with-gxx-include-dir=/Users/ray/mc-x64-3.5/conda-bld/gcc-4.8_1477649012852/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/gcc/include/c++ --bindir=/Users/ray/mc-x64-3.5/conda-bld/gcc-4.8_1477649012852/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/bin --datarootdir=/Users/ray/mc-x64-3.5/conda-bld/gcc-4.8_1477649012852/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/share --libdir=/Users/ray/mc-x64-3.5/conda-bld/gcc-4.8_1477649012852/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib --with-gmp=/Users/ray/mc-x64-3.5/conda-bld/gcc-4.8_1477649012852/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac --with-mpfr=/Users/ray/mc-x64-3.5/conda-bld/gcc-4.8_1477649012852/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac --with-mpc=/Users/ray/mc-x64-3.5/conda-bld/gcc-4.8_1477649012852/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac --with-isl=/Users/ray/mc-x64-3.5/conda-bld/gcc-4.8_1477649012852/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac --with-cloog=/Users/ray/mc-x64-3.5/conda-bld/gcc-4.8_1477649012852/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac --with-boot-ldflags='-Wl,-headerpad_max_install_names -Wl,-L/Users/ray/mc-x64-3.5/conda-bld/gcc-4.8_1477649012852/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib -Wl,-L/usr/lib' --with-stage1-ldflags='-Wl,-headerpad_max_install_names -Wl,-L/Users/ray/mc-x64-3.5/conda-bld/gcc-4.8_1477649012852/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib -Wl,-L/usr/lib' --enable-checking=release --with-tune=generic --disable-multilib
Thread model: posix
gcc version 4.8.5 (GCC)
解决方案
推荐阅读
- javascript - Fullcalendar-Sheduler - 如何在第二个 resourceAreaColumn 上添加图标/html
- php - CORS 策略:没有来自同一服务器的“访问控制允许来源”
- php - 为了处理表单数据*通过 ajax*,我需要添加到 PHP 文件中的哪些调整
- angular - 将 Primeng 升级到版本 9 后页面不呈现
- flutter - 从 firestore 获取数据时添加加载屏幕以颤振
- javascript - 滑动切换的正确方法,然后动态创建内容和滑动切换
- javascript - 如何从嵌套的对象数组中删除对象属性?
- postgresql - 如何简化此 UNION 查询(删除 UNION)?
- angular - Angular HTTP 获取请求在 ngOnInit 中不起作用
- r - 按行绑定具有不同列名的数据框