के स्थान पर मेकफ़ाइल में क्लैंग ++ का उपयोग करना मेरे पास एक मेकफ़ाइल है जो मेरी परियोजना को जी ++ 4.6 के साथ ठीक बनाता है।G ++
#specify the compiler
GXX=g++ -std=c++0x
# Specifiy the target
all: linkedList
# Specify the object files that the target depends on
# Also specify the object files needed to create the executable
linkedList: StudentRecord.o Node.o LinkedList.o ListMain.o
$(GXX) StudentRecord.o Node.o LinkedList.o ListMain.o -o linkedList
# Specify how the object files should be created from source files
LinkedList.o: LinkedList.cpp
$(GXX) -c LinkedList.cpp
ListMain.o: ListMain.cpp
$(GXX) -c ListMain.cpp
StudentRecord.o: StudentRecord.cpp
$(GXX) -c StudentRecord.cpp
Node.o: Node.cpp
$(GXX) -c Node.cpp
जब मैं पहली बार लाइन बदलने GXX = clang++ -std=c++0x
बजना के बारे में iostream उसके बाद कई अन्य त्रुटियों (लेकिन यह "रूट" त्रुटि है) के साथ सही आर्ग या कुछ और नहीं मिल कुछ नहीं बल्कि घने त्रुटि फेंकता किया जाना है।
In file included from /usr/include/c++/4.6/iostream:39:
In file included from /usr/include/c++/4.6/ostream:39:
In file included from /usr/include/c++/4.6/ios:40:
In file included from /usr/include/c++/4.6/bits/char_traits.h:40:
In file included from /usr/include/c++/4.6/bits/stl_algobase.h:65:
In file included from /usr/include/c++/4.6/bits/stl_pair.h:60:
In file included from /usr/include/c++/4.6/bits/move.h:53:
/usr/include/c++/4.6/type_traits:630:59: error: '_Tp' does not refer to a value
: public integral_constant<bool, __is_standard_layout(_Tp)>
क्या यह मेरी मेकफ़ाइल के साथ एक समस्या है, या वास्तव में इस सरल संकलन में कोई अंतर हो सकता है?
क्लैंग 2.9 का उपयोग करना।
नोट: लाइन बजना उस के बारे में शिकायत कर रहा है #include <iostream>
मैं एक सी ++ विशेषज्ञ नहीं हूँ, लेकिन [यह पेज] (http://clang.llvm.org/cxx_status.html) कि बजना इंगित करने के लिए 2.9 नहीं है लगता है सी ++ 0x के लिए 100% तैयार - शायद यह समस्या का हिस्सा है? –
यह C++ 0x समस्या पर क्रैश नहीं हो रहा है, यह iostream सहित क्रैश हो रहा है मुझे लगता है कि – soandos
त्रुटि संदेश में पथ ऐसा लगता है कि आपको क्लैंग की शीर्षलेख फ़ाइलों की बजाय g ++ 4.6 की शीर्षलेख फ़ाइलें मिल रही हैं। जी ++ हेडर फाइलें जीसीसी-विशिष्ट एक्सटेंशन और सामान का उपयोग करती हैं जो शायद क्लैंग के साथ काम नहीं करतीं। –