मैं क्लैंग ++ का उपयोग कर वेब पर मिले एक प्रोग्राम को संकलित करने की कोशिश कर रहा हूं। Makefile इस आदेश उत्पन्न करता है:क्लैंग को unordered_map शीर्षलेख नहीं ढूंढने का कारण क्या हो सकता है?
clang++ -c -arch x86_64 -msse3 -std=c++11 -stdlib=libstdc++
-Wno-missing-field-initializers -Wno-missing-prototypes -Wreturn-type
-Wno-non-virtual-dtor -Wno-exit-time-destructors -Wformat -Wmissing-braces
-Wparentheses -Wno-switch -Wunused-function -Wunused-label -Wno-unused-parameter
-Wunused-variable -Wunused-value -Wno-empty-body -Wuninitialized -Wunknown-pragmas
-Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion
-Wint-conversion -Wno-shorten-64-to-32 -Wenum-conversion -Wno-newline-eof
-Wno-c++11-extensions -Wno-logical-op-parentheses -Wno-trigraphs
-Wno-invalid-offsetof -Wno-sign-conversion -Wdeprecated-declarations
-fmessage-length=0 -fno-exceptions -fstrict-aliasing -fvisibility=hidden
-fvisibility-inlines-hidden -funsafe-math-optimizations -ftrapping-math -fno-rtti
-fpascal-strings -fasm-blocks -O3 -Iinclude/ src/main.cpp
लेकिन मैं
src/main.cpp:23:10: fatal error: 'unordered_map' file not found
#include <unordered_map>
^
1 error generated.
मिल अगर मैं एक साधारण प्रोग्राम है कि <unordered_map>
शामिल clang++ test.cpp
चल संकलन, यह ठीक संकलित करता है।
मैं
Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)
Target: x86_64-apple-darwin13.3.0
Thread model: posix
यदि आप अपने सरल परीक्षण कार्यक्रम को 'clang ++ (उन विकल्पों) test.cpp' के साथ संकलित करते हैं, तो यह भी असफल हो जाएगा। उस बिंदु पर, आप यह देखने के लिए विकल्पों को हटाने शुरू कर सकते हैं कि समस्या का कारण कौन सा है। (सामने से शुरू करें। यह पहले में से एक है।) – hvd
अजीब है कि 'clang ++ test.cpp' संकलित करता है,' 'के रूप में C++ 11 ('-std = C++ 11') की आवश्यकता होती है ... –
Jarod42
आपके libstdC++ का संस्करण क्या है? क्या आपने libstdC++ के साथ 'test.cpp' संकलित किया था? – user2079303