在macOS Monterey 12.5.1上使用gcc编译代码会导致clang错误

icnyk63a  于 2022-11-13  发布在  Mac
关注(0)|答案(1)|浏览(277)

我正在使用Homebrew安装的软件包编译C++、Fortran和OpenMPI代码。我还使用了随Homebrew一起安装的make(GNU Make 4.3)和cmake(3.24.1)软件包。我编译测试程序如下:

### C++ ###
int main (int argc, char** argv)
{
    int x=2;
    return 0;
}

$ g++ test.cc
> clang: error: invalid version number in '-mmacosx-version-min=12.5'

### Fortran ###
program hello
        print *, "Hello, world!"
end program hello

$ gfortran test.f90
> clang: error: invalid version number in '-mmacosx-version-min=12.5'

我收到一个叮当声错误:使用gcc-12和gfortran-12时出现clang: error: invalid version number in '-mmacosx-version-min=12.5'。上述错误中的版本号要求根据安装的gcc版本而变化。例如,gcc-10和gcc-11会导致clang: error: invalid version number in '-mmacosx-version-min=12.0'。有趣的是,调用的错误来自Apple clang,尽管我没有使用它来编译任何程序。
一些相关规范:

  • 蒙特利macOS 12.5.1
  • xcode-选择版本2395
  • xcode选择路径:/程式库/开发人员/命令列工具
$ /usr/bin/clang --version
Apple clang version 13.1.6 (clang-1316.0.21.2.5)
Target: x86_64-apple-darwin21.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

更新:我现在使用英特尔独立安装程序here安装了gfortran,我仍然得到同样的错误。

6bc51xsx

6bc51xsx1#

有人似乎也有同样的问题:

**找到的解决方案:**重新安装命令行工具并导出SYSTEM_VERSION_COMPAT=1对我很有效。另一个可能的解决方案是强制编译只通过GCC进行,但我没有尝试过。
**注:**编译在不包括MPI软件的情况下进行。
**注2:**pkg-config必须作为额外的依赖项安装,但这可能是CMake所要求的。

https://groups.google.com/g/hande-user/c/dtGvyFTJFWE

相关问题