2015-11-12 23 views
9

Tôi thích sử dụng openmp trong một dự án C++ sử dụng Xcode làm IDE. Thật không may, trình biên dịch Clang của Apple không hỗ trợ openmp (see here), vì vậy tôi đã cài đặt clang-omp. Tôi đã thực hiện đúng các hướng dẫn được đưa ra trên trang web đó để sử dụng nó trong Xcode, nhưng tôi nhận được thông báo lỗi can't exec '/usr/local/bin/clang++-omp' (No such file or directory). Tôi đã cố gắng để biên dịch các ví dụ đơn giản được đưa ra trên trang web của họ thông qua thiết bị đầu cuối và tôi đã nhận nó để làm việc khi tôi biên dịch nó thông qua clang-omp++ -fopenmp file.cpp. Đối với tôi, có vẻ như Xcode nên tìm kiếm /usr/local/bin/clang-omp++ (tồn tại trái ngược với /usr/local/bin/clang++-omp). Sau khi tạo liên kết tượng trưng như được đề xuất trong các nhận xét, tôi nhận được một thông báo lỗi khác: library not found for -liomp5. Làm thế nào tôi có thể sửa lỗi này?clang-omp trong Xcode dưới El Capitan

+0

gì về việc một liên kết tượng trưng? 'sudo ln -s/usr/local/bin/clang-omp ++/usr/local/bin/clang ++ - omp' – Gilles

+0

@Gilles Ý tưởng hay nhưng tôi vẫn nhận được thông báo lỗi mặc dù tệp hiện có ... – DaPhil

+0

Tôi chỉ nhận thấy rằng có vẻ là một lỗi khác: không tìm thấy thư viện cho -liomp5. Tôi sẽ thêm nó vào câu hỏi. – DaPhil

Trả lời

8

Trong trường hợp bất cứ ai khác đang cố gắng để có được kêu vang-OMP dưới Xcode để làm việc, cách chính xác được (sau khi official instructions):

  1. Install kêu vang-OMP sử dụng homebrew: brew install clang-omp
  2. Tạo mới Xcode dự án
  3. Thêm một người dùng định nghĩa mới thiết lập CC với giá trị /usr/local/bin/clang-omp dưới thiết lập xây dựng của dự án
  4. Thêm -fopenmp để Flags C khác theo xây dựng các thiết lập của dự án
  5. Thêm /usr/local/include với tiêu đề Tìm kiếm Paths dưới thiết lập xây dựng của dự án
  6. Thêm /usr/local/lib vào Thư viện Search Paths dưới thiết lập xây dựng của dự án
  7. Set Enable Modules (C và Objective-C) để No dưới thiết lập xây dựng của dự án
  8. Thêm /usr/local/lib/libiomp5.dylib đến link Binary với Libraries dưới xây dựng giai đoạn của dự án
  9. Thực hiện một liên kết tượng trưng qua sudo ln -s /usr/local/bin/clang-omp++ /usr/local/bin/clang++-omp bằng cách sử dụng thiết bị đầu cuối
  10. sử dụng #include <libiomp/omp.h> để có thể sử dụng OpenMP trong dự án của bạn
+2

Lỗi Brew: Không có công thức có sẵn cho clang-omp? –

+1

@ JosephK Tôi biết hơi trễ một chút, nhưng thử chạy 'brew update' trước khi' brew install'. –

+6

** Lưu ý (tháng 7 năm 2016) **: 'clang-omp' đã được" [xóa] (https://github.com/Homebrew/homebrew-core/commit/c57e307) "từ brew, OpenMP hiện đang được hỗ trợ trực tiếp bởi thượng lưu LLVM (có sẵn trên brew cũng). Về tích hợp Xcode bây giờ, mặc dù, tôi không chắc chắn. – Adriweb

1

runtimes OpemMP thường không được giao với kêu vang, bạn có thể tải về và cài đặt từ: https://www.openmprtl.org

+2

Trong khi điều này về lý thuyết có thể trả lời câu hỏi, [nó sẽ là thích hợp hơn] (// meta.stackoverflow.com/q/8259) để bao gồm các phần thiết yếu của trả lời ở đây và cung cấp liên kết để tham khảo. –

Các vấn đề liên quan