相关疑难解决方法(0)

如何在OS X中包含omp.h?

我是C的新手,在OS X中编译代码时遇到了一些问题.

我在Eclipse中编写了很多Java代码,并使用终端编译我的代码.但是现在我正在学习openMP并且遇到麻烦.

首先我下载了​​Xcode来编写openMP代码,但它无法识别<omp.h>.然后我安装了g++.当我输入g++ -v终端时,我得到了这个:

Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)
Target: x86_64-apple-darwin13.3.0
Thread model: posix
Run Code Online (Sandbox Code Playgroud)

但是当我使用时,g++ Mesh.cpp -fopenmp我仍然会得到

Mesh.cpp:4:10: fatal error: 'omp.h' file not found
#include <omp.h>
         ^
1 error generated.
Run Code Online (Sandbox Code Playgroud)

然后我尝试将PTP安装到Eclipse中并遇到同样的问题.我以为omp.h我的MacBook 中没有,所以我搜索了它,发现下面有几个omp.h文件夹gcc-4.9.1/build/.

这就是问题所在.根据Java经验,我拥有该文件但无法使用它的唯一原因是类路径错误.但是,我不知道如何在g ++,Xcode或Eclipse中更改此配置.但是因为我可以包含<stdio.h>所有IDE的文件并使用所有IDE编译它,我怎么能不这样做<omp.h>呢?

我注意到的另一件事是gcc文件夹版本是4.9.1,但当我输入gcc -v终端时,我输入相同的内容g++ -v

Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.1 (clang-503.0.40) (based on …
Run Code Online (Sandbox Code Playgroud)

c++ gcc g++ openmp

19
推荐指数
5
解决办法
5万
查看次数

如何为 Apple M1 构建 LLVM (clang,clang++)?

我正在尝试构建 LLVM 编译器,以便我可以在 Apple M1 上启用 OpenMP。我正在使用 LLVM 开发树,(因为我最近看到一些 OpenMP 运行时对此进行了处理)。

我已经结束了这个脚本来调用 cmake:

# Xcode, Ninja
BUILD_SYSTEM=Ninja
BUILD_TAG=Ninja

cmake ../llvm \
      -G$BUILD_SYSTEM -B ${BUILD_TAG}_build \
      -DCMAKE_OSX_ARCHITECTURES='arm64' \
      -DCMAKE_C_COMPILER=`which clang` \
      -DCMAKE_CXX_COMPILER=`which clang++` \
      -DCMAKE_BUILD_TYPE=Release \
      -DCMAKE_BUILD_WITH_INSTALL_RPATH=1 \
      -DCMAKE_INSTALL_PREFIX=$HOME/software/clang-12.0.0/arm64 \
      -DLLVM_ENABLE_WERROR=FALSE \
      -DLLVM_TARGETS_TO_BUILD='AArch64' \
      -DLLVM_ENABLE_PROJECTS='clang;openmp,polly' \
      -DLLVM_DEFAULT_TARGET_TRIPLE='aarch64-apple-darwin20.1.0'
Run Code Online (Sandbox Code Playgroud)

这里使用的编译器是

$ /usr/bin/clang --version
Apple clang version 12.0.0 (clang-1200.0.32.27)
Target: arm64-apple-darwin20.1.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
Run Code Online (Sandbox Code Playgroud)

然后 ninja 可以成功构建 clang、clang++ 和 OpenMp 运行时并安装它们。(很简单,针对 Arms64 的 Arm64 图像)

$ file ~/software/clang-12.0.0/arm64/bin/clang
/Users/jcownie/software/clang-12.0.0/arm64/bin/clang: Mach-O 64-bit executable …
Run Code Online (Sandbox Code Playgroud)

llvm clang macos-big-sur apple-silicon

5
推荐指数
2
解决办法
6948
查看次数

标签 统计

apple-silicon ×1

c++ ×1

clang ×1

g++ ×1

gcc ×1

llvm ×1

macos-big-sur ×1

openmp ×1