簡體   English   中英

如何在我的新 MacBook Pro(使用 Mac OS Catalina)上安裝 openMP?

[英]How can I install openMP on my new MacBook Pro (with Mac OS Catalina)?

我安裝了 Xcode (以及命令行工具)但終端說(當我編譯時):

gcc -o task -fopenmp task.c
clang: error: unsupported option '-fopenmp'

我試圖通過 brew 安裝 openmp 但人們說它不再在 homebrew 上可用,他們建議嘗試

brew instal llvm

但我得到同樣的錯誤。 我也在墓地里試過

brew install homebrew/boneyard/clang-omp

但存儲庫不再存在。

你可以幫幫我嗎? 我只需要學習openMP,我不認為安裝有那么難......

謝謝!

親切的問候,

尼科

要使用 OpenMP 支持進行構建,您需要確保沒有從 Xcode 調用 Apple 的 clang。 即使你通過 brew 安裝了llvmgcc ,你也應該在你的終端 Z212E5440CFBE515024E 中嘗試gcc -vclang -v 兩者都可能調用蘋果的版本。

您可以使用 GNU gcc 或 LLVM; 兩者都可以通過 brew 獲得。 如果你使用 LLVM,你還需要安裝libomp

GNU gcc(當前版本 9)

brew install gcc
gcc-9 -o task -fopenmp task.c

請注意,您可以通過在gcc后面加上-和主要版本號來顯式調用此版本的 gcc,例如: gcc-9

LLVM

Brew 將 LLVM 安裝為僅桶裝,這樣它就不會與 Apple 的版本沖突。 因此,您需要確保調用正確的clang 您還需要指定libomp庫的位置。

brew install llvm libomp
`brew --prefix llvm`/bin/clang -L`brew --prefix`/lib -o task -fopenmp task.c

https://iscinumpy.gitlab.io/post/omp-on-high-sierra/建議執行以下操作:

brew install libomp

安裝 OpenMP 運行時組件/庫。

然后,在編譯時:

  • 在編譯步驟中使用-Xpreprocessor -fopenmp代替-fopenmp-c選項)
  • -lomp添加到鏈接步驟

注意上面的頁面還提到了 CMake 3.12 或更高版本會自動找到在 MacOS 上添加 OpenMP 的正確方法:

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)

注意:我沒有對此進行任何測試,但聽起來相對健全

brew install gcc

然后在您的終端中鍵入gcc並按兩次選項卡按鈕。

您應該看到多個 gcc 版本,例如gcc gcc-10

然后找出哪個來自 Homebrew,例如在終端中鍵入gcc-10 --version應該 output 是這樣的:

gcc-10 (Homebrew GCC 10.2.0_3) 10.2.0 Copyright (C) 2020 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

最后使用該編譯器來編譯你的例如:

gcc-10 -o task -fopenmp task.c

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM