【问题标题】:Force mac to use GCC, not clang强制mac使用GCC,而不是clang
【发布时间】:2017-11-19 13:11:07
【问题描述】:

我有一个用 GNU C 在 Linux 上编写的程序。该程序使用 GCC 编译。我有一个安装 shell 脚本,

gcc -o program program.c -Wall -pedantic -std=gnu11 -lm -fopenmp

效果很好。

问题出在 Mac 上。出于某种原因,Mac 看到 gcc 而是使用 clang,即使安装了 GCC 并且 install.sh 明确表示 gccclang 不适用于omp.h 问题是clang 不能使用omp.h 并且提供的解决方案http://releases.llvm.org/3.7.0/tools/clang/docs/ReleaseNotes.html#openmp-support 不起作用,omp.h 可能在mac 中根本不起作用Enable OpenMP support in clang in Mac OS X (sierra)

我从不使用 mac,因为这些废话,我从不打算使用。但是,有些使用我的程序的人想使用 Mac,所以我必须处理这个问题。

我尝试了各种shell脚本修改,但都不起作用,mac坚持使用clang不会使用gcc

我需要做两件我不知道该怎么做的事情之一:

1) 强制 Mac 使用 gcc(它现在拒绝这样做)

2) 让clang 在 mac 中使用 omp.h(从 Stack Overflow 上的其他答案看来是不可能的)

【问题讨论】:

标签: c macos gcc parallel-processing clang


【解决方案1】:

您的第二个选项(让 clang 使用 omp.h)并非不可能(不再)。从我的回答here:

尝试使用Homebrew的llvm:

brew install llvm

然后你就拥有了/usr/local/opt/llvm/bin 中的所有 llvm 二进制文件。例如,要编译OpenMP Hello World program,请键入

/usr/local/opt/llvm/bin/clang -fopenmp -L/usr/local/opt/llvm/lib omp_hello.c -o hello

您可能还需要将CPPFLAGS 设置为-I/usr/local/opt/llvm/include

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-14
    • 2013-09-29
    • 1970-01-01
    • 2015-03-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多