2012-09-18 6 views
25

मैं सीएमके की नौसिखिया हूं, और मैं LINUX पर्यावरण में सी ++/सी प्रोजेक्ट के लिए सोच रहा था कि सीएमके जीसीसी और जी ++ के बीच कंपाइलर्स कैसे चुन सकता है। विशेष रूप से, मेरे सवालों का इस प्रकार हैं: एक परियोजना ग और .cpp फ़ाइल शामिल हैसीएमके संकलन के लिए जीसीसी और जी ++ का चयन कैसे करता है?

  1. हैं, यह सच है कि ग फ़ाइलों जीसीसी द्वारा संकलित की जाएगी, जबकि सीपीपी फ़ाइलों हो जाएगा जी ++ द्वारा संकलित?
  2. यदि किसी प्रोजेक्ट में केवल सी फाइलें या सीपीपी फाइलें हैं, तो सीएमके के लिए डिफ़ॉल्ट संकलन ऑपरेशन क्या है? क्या इसे बदलना संभव होगा?

उत्तर

12

जल्द ही, दोनों के लिए हाँ।

आप बहुत ज्यादा सब कुछ के साथ उलझ सकते हैं। झंडे और चर हैं जो भाषा में विस्तार को बांधते हैं; और उसके बाद कंपाइलर विकल्प/निष्पादन योग्य भाषाएं जो टूलसेट को परिभाषित करती हैं और लक्ष्य बनाती हैं।

दस्तावेज़ीकरण के लिए निम्नलिखित लिंक जांचें। वे कुछ सुखद लघु रीडिंग हैं।

  1. Change compiler/toolset
  2. Per-language extensions
  3. LANGUAGE variable

नोट: विकि पुराना हो सकता है, लेकिन यह महत्वपूर्ण और शैक्षिक बात के मामले में धारण करना चाहिए।

पीएस। संबंधित विकल्पों का पूरा समूह है। कुछ पढ़ने के लिए आप दस्तावेज़ीकरण के निम्नलिखित खंडों की जांच कर सकते हैं: Properties on Source Files और Variables for Languages। 2. और 3. इन वर्गों से आते हैं।

+0

मान्य भाषा विकल्प क्या हैं? विशेष रूप से, मैं LANGUAGE के रूप में क्या टाइप करूं ???? उबंटू लिनक्स में उद्देश्य-सी ++ (। मिमी फ़ाइल) के लिए? – gone

+0

यह एक पूरी तरह से अलग सवाल है। आईएमओ आपको इसे अलग से पूछना चाहिए। खासकर जब से मुझे उद्देश्य-सी ++ =) के बारे में कुछ नहीं पता है। बात यह है कि, मुझे नहीं पता कि यह डिफ़ॉल्ट रूप से समर्थित है या नहीं। यदि नहीं, तो संभवतः आप अपने आप सबकुछ स्थापित कर सकते हैं, यानी सभी '* *' चर, लेकिन आपको वेरिएबल नाम चुनना होगा जैसा आप चाहते हैं =)। – luk32

10

जहां तक ​​मुझे पता है कि सीएमके केवल फाइल एक्सटेंशन को देखता है। तो यदि आप अपनी .c फ़ाइल को .cpp पर पुनर्नामित करते हैं, जहां तक ​​मुझे पता है, g ++ के साथ संकलित किया जाएगा।

उस व्यवहार को बदलना आसान है। कौन सा कंपाइलर उपयोग करने के लिए सीएमके पर्यावरण चर का उपयोग करता है। यदि आप कंपाइलर को उदाहरण में बदलना चाहते हैं बजना और बजना ++, तो आप सिर्फ कर सकते हैं

निर्यात सीसी = बजना निर्यात CXX = बजना ++

cmake चलाने से पहले

संबंधित मुद्दे