जवाबों:
इसके अलावा, पोस्टेरिटी के लिए - क्लैंग (जैसे जीसीसी) -x
इनपुट फ़ाइलों की भाषा सेट करने के लिए स्विच को स्वीकार करता है , उदाहरण के लिए,
$ clang -x c++ some_random_file.txt
यह मेलिंग सूची थ्रेड के बीच clang
और clang++
अच्छी तरह से अंतर बताता है : क्लैंग और क्लैंग ++ के बीच का अंतर
clang.exe
, और फिर उस निष्पादन योग्य को कॉपी करता है clang++.exe
। तो यह एक ही निष्पादन योग्य है, बस रनटाइम के दौरान यह अपने स्वयं के नाम की जांच करता है कि क्या सी या सी ++ संकलक के रूप में व्यवहार करना है या नहीं। HTH।
-x c++
एक के रूप में देने के लिए बहुत उपयोगी था -extra-arg
करने के लिए बजना-सुथरा , के रूप में सी ++ युक्त सी के बजाय एक ज फ़ाइल के इलाज के लिए यह मजबूर करने के लिए
clang++
और यह पता लगाने दें कि आप इसे किस प्रकार की फ़ाइलों की आपूर्ति करते हैं। एक परियोजना शामिल कर सकते हैं जब .cpp
फ़ाइलें, .ll
फ़ाइलें (LLVM आईआर) और .o
, .a
, .so
तीसरे पक्ष के पुस्तकालयों से और क्या नहीं फ़ाइलें, clang -x c++
बस फेंक देते हैं।
मुझे नहीं पता कि समस्या का सीधे जवाब देने का कोई जवाब क्यों नहीं है। जब आप C ++ प्रोग्राम को संकलित करना चाहते हैं, तो इसका उपयोग करना सबसे अच्छा है clang++
। उदाहरण के लिए, निम्नलिखित मेरे लिए काम करता है:
clang++ -Wall -std=c++11 test.cc -o test
यदि सही ढंग से संकलित किया गया है, तो यह निष्पादन योग्य फ़ाइल का उत्पादन करेगा test
, और आप फ़ाइल का उपयोग करके चला सकते हैं ./test
।
या आप केवल clang++ test.cc
प्रोग्राम को संकलित करने के लिए उपयोग कर सकते हैं । यह एक डिफ़ॉल्ट निष्पादन योग्य फ़ाइल का नाम देगा a.out
। ./a.out
फ़ाइल चलाने के लिए उपयोग करें ।
यदि आप g ++ से परिचित हैं तो पूरी प्रक्रिया जी ++ जैसी है। विकल्प के साथ कौन सी चेतावनियाँ शामिल हैं यह जाँचने के लिए इस पोस्ट को देखें -Wall
। यह पृष्ठ क्लैंग द्वारा समर्थित नैदानिक झंडे की एक सूची दिखाता है।
क्लैंग को स्रोत से बनाते समय मुझे इसी तरह की समस्या हुई है (लेकिन इसके साथ नहीं sudo apt-get install
। यह उबंटू के संस्करण पर निर्भर हो सकता है जिसे आप चला रहे हैं)।
यह जाँचने योग्य हो सकता है कि क्या clang++
आपके C ++ पुस्तकालयों के सही स्थान मिल सकते हैं:
"#Include <...> खोज यहां शुरू होती है:" के तहत g++ -v <filename.cpp>
और के परिणामों की तुलना करें clang++ -v <filename.cpp>
।
#include <iostream>
। -lstdc ++ ध्वज ने इस समस्या को हल किया।