Я новичок в C и имею некоторые проблемы с компиляцией моего кода в OS X.
Я много кодирую Java в Eclipse и использую терминал для компиляции моего кода. Однако теперь я изучаю 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
, поэтому я искал его и нашел несколько omp.h
под папками под gcc-4.9.1/build/
.
Вот и проблема. Основываясь на опыте 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)
Спасибо за чтение. Любая помощь приветствуется.