Clang-omp в XCode под Эль-Капитаном

Мне нравится использовать openmp в проекте c ++ с использованием Xcode в качестве IDE. К сожалению, компилятор Apple Clang не поддерживает openmp (посмотреть здесь), поэтому я установил лязг-OMP. Я точно следовал инструкциям, приведенным на этом сайте, чтобы использовать его в XCode, но я получаю сообщение об ошибке can't exec '/usr/local/bin/clang++-omp' (No such file or directory), Я попытался скомпилировать простой пример, приведенный на их сайте, через терминал, и я получил его на работу, когда скомпилировал его через clang-omp++ -fopenmp file.cpp, Для меня, похоже, Xcode должен искать /usr/local/bin/clang-omp++ (который существует в отличие от /usr/local/bin/clang++-omp). После создания символической ссылки, как предлагается в комментариях, я получаю еще одно сообщение об ошибке: library not found for -liomp5, Как я могу это исправить?

9

Решение

В случае, если кто-то еще пытается заставить работать clang-omp под Xcode, правильный путь (следуя официальные инструкции):

  1. Установите clang-omp, используя homebrew: brew install clang-omp
  2. Создать новый проект Xcode
  3. Добавьте новый пользовательский параметр CC со значением /usr/local/bin/clang-omp в настройках сборки проекта
  4. добавлять -fopenmp Другие флаги C в настройках сборки проекта
  5. добавлять /usr/local/include в пути поиска заголовка в настройках сборки проекта
  6. добавлять /usr/local/lib в пути поиска библиотеки в настройках сборки проекта
  7. Установите Включить модули (C и Objective-C) в No в настройках сборки проекта
  8. добавлять /usr/local/lib/libiomp5.dylib связать двоичные файлы с библиотеками на этапах сборки проекта
  9. Сделать символическую ссылку через sudo ln -s /usr/local/bin/clang-omp++ /usr/local/bin/clang++-omp используя терминал
  10. использование #include <libiomp/omp.h> чтобы иметь возможность использовать OpenMP в вашем проекте
8

Другие решения

Среда выполнения OpemMP обычно не поставляется с Clang, вы можете скачать и установить с: https://www.openmprtl.org

1

По вопросам рекламы [email protected]