Macos 如何在我的新MacBook Pro(使用Mac OS Catalina)上安装openMP?
我安装了Xcode(以及命令行工具),但终端说(在编译时): 我试图通过brew安装openmp,但有人说它在家用brew上不再可用,他们建议试试Macos 如何在我的新MacBook Pro(使用Mac OS Catalina)上安装openMP?,macos,clang,openmp,llvm,homebrew,Macos,Clang,Openmp,Llvm,Homebrew,我安装了Xcode(以及命令行工具),但终端说(在编译时): 我试图通过brew安装openmp,但有人说它在家用brew上不再可用,他们建议试试 brew instal llvm 但我也犯了同样的错误。 我也在墓地里试过 brew install homebrew/boneyard/clang-omp 但是存储库已经不存在了 你能帮我吗? 我只需要学习openMP,我不认为这是很难安装 谢谢大家! 亲切问候, Nico这建议您执行以下操作: brew install libomp 安装O
brew instal llvm
但我也犯了同样的错误。
我也在墓地里试过
brew install homebrew/boneyard/clang-omp
但是存储库已经不存在了
你能帮我吗?
我只需要学习openMP,我不认为这是很难安装
谢谢大家!
亲切问候,
Nico这建议您执行以下操作:
brew install libomp
安装OpenMP运行时组件/库
然后,在编译时:
gcc -o task -fopenmp task.c
clang: error: unsupported option '-fopenmp'
- 在编译步骤中使用
代替-Xpreprocessor-fopenmp
(-fopenmp
选项)-c
- 将
添加到链接步骤-lomp
cmake_minimum_required(VERSION 3.12)
project(openmptest CXX)
add_executable(sample sample.cpp)
find_package(OpenMP REQUIRED)
target_link_libraries(sample PRIVATE OpenMP::OpenMP_CXX)
注意:我没有测试任何一个,但它听起来相对合理要使用OpenMP支持构建,您需要确保您没有从Xcode调用Apple的clang。即使通过brew安装
llvm
或gcc
,也应在终端会话中尝试gcc-v
和clang-v
。两者都可能引用苹果的版本
您可以使用GNU gcc或LLVM;两者都可以通过brew获得。如果使用LLVM,还需要安装libomp
GNU gcc(目前为版本9)
请注意,您可以通过在gcc
后面添加-
和主要版本号来显式调用此版本的gcc,例如:gcc-9
LLVM
Brew仅将LLVM安装为keg,以避免与苹果版本冲突。因此,您需要确保调用正确的clang
。您还需要指定libomp
库的位置
brew install llvm libomp
`brew --prefix llvm`/bin/clang -L`brew --prefix`/lib -o task -fopenmp task.c
brew安装gcc
然后在终端中键入gcc
,并点击tab按钮两次
您应该看到多个gcc版本,例如gcc
gcc-10
然后找出哪一个是自制的,例如,在终端中键入gcc-10--version
,输出如下内容:
<代码> GCC-10(自制软件GCC 102.0S3).2.0版权(C)2020免费软件基金会,这是免费软件;有关复制条件,请参见源。没有担保;甚至不考虑适销性或特定用途的适用性。
最后使用该编译器编译您的文件,例如:gcc-10-o task-fopenmp task.c
嗨,不,很遗憾它不起作用。与以前一样,出现了许多随机错误:错误:用户无法写入以下目录:/usr/local/bin/usr/local/include/usr/local/lib/usr/local/share/usr/local/share/info/usr/local/share/local/man/usr/local/share/man/man1/usr/local/share/man/man7如果我编写brew安装libomp@NicoBattelli你需要安装对/use/local及其内容的写入权限。@NicoBattellibrew doctor
应该告诉您使用brew
可能需要解决的问题。
brew install llvm libomp
`brew --prefix llvm`/bin/clang -L`brew --prefix`/lib -o task -fopenmp task.c