2015-11-12 10 views
9

Chciałbym użyć openmp w projekcie C++ używając Xcode jako IDE. Niestety, kompilator Clang firmy Apple nie obsługuje programu openmp (see here), więc zainstalowałem clang-omp. Dokładnie postępowałem zgodnie z instrukcjami podanymi na tej stronie, aby używać go w Xcode, ale pojawia się komunikat o błędzie can't exec '/usr/local/bin/clang++-omp' (No such file or directory). Próbowałem skompilować prosty przykład podany na ich stronie za pośrednictwem terminala i dostałem go do pracy, kiedy skompilowałem go przez clang-omp++ -fopenmp file.cpp. Dla mnie wygląda na to, że Xcode powinien poszukać /usr/local/bin/clang-omp++ (który istnieje w przeciwieństwie do /usr/local/bin/clang++-omp). Po utworzeniu dowiązania symbolicznego zgodnie z sugestiami w komentarzach pojawia się kolejny komunikat o błędzie: library not found for -liomp5. Jak mogę to naprawić?clang-omp w Xcode pod El Capitan

+0

co czyni link symboliczny? 'sudo ln -s/usr/local/bin/clang-omp ++/usr/local/bin/clang ++ - omp' – Gilles

+0

@Gilles Dobry pomysł, ale nadal pojawia się komunikat o błędzie, chociaż plik już istnieje ... – DaPhil

+0

Po prostu Zauważyłem, że pojawia się kolejny błąd: nie znaleziono biblioteki dla -liomp5. Dodam to do pytania. – DaPhil

Odpowiedz

8

na wypadek gdyby ktoś inny próbuje dostać szczęk-omp pod Xcode do pracy, poprawny sposób jest (po official instructions):

  1. Install clang-OMP użyciu homebrew: brew install clang-omp
  2. Utwórz nowy Xcode projektu
  3. Dodaj nowy zdefiniowany przez użytkownika ustawień CC o wartości /usr/local/bin/clang-omp w ustawieniach zbudować projektu
  4. Dodaj -fopenmp do innych flag C w ustawieniach zbudować projektu
  5. Dodaj /usr/local/include do nagłówka ścieżek wyszukiwania w ustawieniach zbudować projektu
  6. Dodaj /usr/local/lib do biblioteki ścieżek wyszukiwania w ustawieniach zbudować projektu
  7. Set Włącz moduły (C i Objective-C) do No w ustawieniach zbudować projektu
  8. Dodaj /usr/local/lib/libiomp5.dylib aby link binarne z bibliotekami w ramach fazy budowania projektu za
  9. Zrób link symboliczny poprzez sudo ln -s /usr/local/bin/clang-omp++ /usr/local/bin/clang++-omp używania terminala
  10. Używaj #include <libiomp/omp.h> aby móc w użyciu OpenMP w projekcie
+2

Błąd parzenia: Brak dostępnej formuły dla clang-omp? –

+1

@JosephK Wiem, że jest trochę za późno, ale spróbuj uruchomić 'brew brew' przed' brew install'. –

+6

** Uwaga (lipiec 2016) **: 'clang-omp' został" [usunięty] (https://github.com/Homebrew/homebrew-core/commit/c57e307) "z brew, OpenMP teraz bezpośrednio wspierany przez upstream LLVM (dostępny również na parzeniu). Jeśli chodzi o integrację z Xcode, to nie jestem pewien. – Adriweb

1

OpemMP czasy pracy nie są zwykle dostarczane z brzękiem, można pobrać i zainstalować z: https://www.openmprtl.org

+2

Chociaż może to teoretycznie odpowiedzieć na pytanie, [byłoby lepiej] (// meta.stackoverflow.com/q/8259), aby uwzględnić istotne elementy odpowiedz tutaj i podaj link do odniesienia. –

Powiązane problemy