【发布时间】:2014-11-17 09:01:57
【问题描述】:
我是 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
但是当我使用g++ Mesh.cpp -fopenmp 时,我仍然得到
Mesh.cpp:4:10: fatal error: 'omp.h' file not found
#include <omp.h>
^
1 error generated.
然后我尝试将 PTP 安装到我的 Eclipse 中并遇到了同样的问题。
我以为我的 MacBook 里没有 omp.h,所以我搜索了一下,在 gcc-4.9.1/build/ 下的文件夹下找到了几个 omp.h。
问题来了。根据 Java 经验,我拥有该文件但无法使用它的唯一原因是类路径错误。但是,我不知道如何在 g++、Xcode 或 Eclipse 中更改此配置。但既然我可以包含<stdio.h> 之类的文件并使用所有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 LLVM 3.4svn)
Target: x86_64-apple-darwin13.3.0
Thread model: posix
版本信息不应该说明4.9.1吗?就像java -version 显示的一样
java version "1.8.0_11"
Java(TM) SE Runtime Environment (build 1.8.0_11-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)
感谢阅读。任何帮助表示赞赏。
【问题讨论】: