मैंने एक प्रोजेक्ट पर काम किया है जहां मैं सी + में समाप्त होने वाली फ़ाइलों में सी कोड संकलित करने के लिए जी ++ का उपयोग कर रहा था। कारण यह है कि मुझे बताया गया है कि g ++ में बेहतर चेतावनी संदेश हैं।सी फाइलों को संकलित करने के लिए सी ++ का उपयोग कर सकते हैं?
मैं इस परियोजना CMake का उपयोग करने के लिए निर्माण प्रक्रिया स्विचिंग कर रहा हूँ। मैंने पाया कि शुरुआत में सीएमके सी फाइलों को संकलित करने के लिए जीसीसी का उपयोग करना चाहता था। यह उपयोग समय पर चर घोषित करने जैसी चीजों के कारण विफल रहा। तो मैं जी ++ उपयोग करने के लिए CMakeLists.txt फाइल में स्थापित करने
set(CMAKE_C_COMPILER_INIT g++)
का उपयोग करके सी फ़ाइलों को संकलित करने की कोशिश की। लेकिन यह त्रुटि संदेश में परिणाम है: इस समस्या को दूर करने के लिए सीपीपी को
#error "The CMAKE_C_COMPILER is set to a C++ compiler"
मैं अपने ग फ़ाइलों का नाम बदलने की है कि के रूप में मुझे चीजें काम है, और शायद सबसे अच्छा तरीका है बनाने के लिए सबसे आसान तरीका प्रतीत हो रहा है भी। लेकिन मैं सोच रहा था कि सी फाइलों को संकलित करने के लिए सीएमके को जी ++ का उपयोग करने के लिए मजबूर करना संभव है या नहीं।
- और क्या आप इसकी पुष्टि कर सकते हैं? मैं कहूंगा कि यह बहुत संदिग्ध है, क्योंकि (जहां तक मुझे पता है) दोनों ही अलग-अलग तर्कों (भाषा, पथ शामिल हैं, मानक पुस्तकालय में शामिल इत्यादि) के साथ एक ही कंपाइलर का आह्वान करने वाले ड्राइवर हैं, इसके अलावा, जी ++ एक नहीं है सी संकलक ताकि आप बहुत खराब सी ++ लिखना समाप्त कर सकें। – delnan
यदि आप सी लिख रहे हैं, तो एक सी संकलक के साथ संकलित करें। सी और सी ++ एक ही बात नहीं हैं। – Kusalananda
आपने कहा '_This उपयोग समय पर चर घोषित करने जैसी चीजों के कारण विफल रहा'; ऐसा लगता है कि आप सी 99 मोड के बजाय सी 8 9 मोड में जीसीसी का उपयोग कर रहे हैं। सी संकलक को '-std = c99' जोड़ने का प्रयास करें - किसी भी तरह। टिप्पणियों के लिए –