2017-04-22 11 views
5

में क्लैंग में ओपनएमपी समर्थन सक्षम करें मै मैक ओएस एक्स सिएरा का उपयोग कर रहा हूं, और मैंने पाया कि क्लैंग (एलएलवीएम संस्करण 8.1.0 (क्लैंग -802.0.38)) ओपनएमपी का समर्थन नहीं करता है: जब मैं clang -fopenmp program_name.c चलाने के लिए, मैं निम्नलिखित त्रुटि मिली:मैक ओएस एक्स (सिएरा)

clang: error: unsupported option '-fopenmp'

ऐसा लगता है कि बजना -fopenmp ध्वज का समर्थन नहीं करता।

मुझे होमब्री में कोई ओपनएमपी लाइब्रेरी नहीं मिली। एलएलवीएम वेबसाइट के मुताबिक, एलएलवीएम पहले ही ओपनएमपी का समर्थन करता है। लेकिन मुझे संकलन के दौरान इसे सक्षम करने का कोई तरीका नहीं मिला।

क्या इसका मतलब यह है कि मैक में डिफ़ॉल्ट क्लैंग OpenMP का समर्थन नहीं करता है? क्या आप कोई सुझाव दे सकते हैं?

(जब मैं जीसीसी के लिए स्विच एक ही कार्यक्रम को संकलित करने के (जीसीसी brew install gcc --without-multilib का उपयोग कर स्थापित किया गया है), और संकलन सफल रहा है।)

+1

'ब्रू इंस्टॉल करें llvm' नवीनतम एलएलवीएम संस्करण, यानी 4.0.0 स्थापित करना चाहिए। क्या इससे समस्या ठीक हो जाती है? – cbrnr

उत्तर

3

दरअसल, एप्पल द्वारा प्रदत्त बजना OpenMP समर्थन नहीं करता।

brew install llvm 

फिर आप सभी LLVM बाइनरी /usr/local/opt/llvm/bin में है:

1

का उपयोग कर Homebrew के LLVM प्रयास करें। उदाहरण के लिए OpenMP Hello World program संकलन करने के लिए, टाइप करें

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

तुम भी CPPFLAGS-I/usr/local/opt/llvm/include साथ स्थापित करने के लिए हो सकता है।