2017-04-22 21 views
5

Tôi đang sử dụng Mac OS X Sierra và tôi thấy rằng clang (LLVM phiên bản 8.1.0 (clang-802.0.38)) không hỗ trợ OpenMP: khi tôi chạy clang -fopenmp program_name.c, tôi đã nhận lỗi sau:Bật hỗ trợ OpenMP trong tiếng lóng trong Mac OS X (sierra)

clang: error: unsupported option '-fopenmp'

dường như kêu vang mà không hỗ trợ -fopenmp cờ.

Tôi không thể tìm thấy bất kỳ thư viện openmp nào trong homebrew. Theo trang web của LLVM, LLVM đã hỗ trợ OpenMP. Nhưng tôi không thể tìm ra cách để kích hoạt nó trong quá trình biên dịch.

Điều này có nghĩa là tiếng kêu mặc định trong Mac không hỗ trợ OpenMP? Bạn có thể cung cấp bất kỳ đề xuất nào không?

(Khi tôi chuyển sang GCC để biên dịch chương trình tương tự (gcc được cài đặt sử dụng brew install gcc --without-multilib), và biên soạn thành công.)

+1

'brew install llvm' nên cài đặt phiên bản LLVM mới nhất, tức là 4.0.0. Điều này có khắc phục được sự cố không? – cbrnr

Trả lời

3

Thật vậy, kêu vang Apple cung cấp không hỗ trợ OpenMP.

1

Hãy thử sử dụng Homebrew 's llvm:

brew install llvm 

Sau đó, bạn có tất cả các mã nhị phân llvm trong /usr/local/opt/llvm/bin. Để biên dịch OpenMP Hello World program, ví dụ, gõ

/usr/local/opt/llvm/bin/clang -fopenmp -L/usr/local/opt/llvm/lib omp_hello.c -o hello 

Bạn cũng có thể phải thiết lập các CPPFLAGS với -I/usr/local/opt/llvm/include.