Windows के लिए LLVM C ++ IDE


92

क्या विंडोज के लिए कुछ C / C ++ IDE है, जो आधुनिक Xcode do की तरह LLVM कंपाइलर (और Clang C / C ++ विश्लेषक) के साथ एकीकृत है।

मेरे पास देव-सीपीपी है (यह पुराने जीसीसी का उपयोग करता है) और कोड :: ब्लॉक (कुछ जीसीसी के साथ)। लेकिन जीसीसी मुझे बहुत ही गुप्त त्रुटि संदेश देता है। मैं क्लैंग फ्रंटेंड से कुछ और उपयोगकर्ता के अनुकूल त्रुटि संदेश प्राप्त करना चाहता हूं।

हां, क्लैंग का उपयोग जटिल सी ++ कोड के साथ करने में सक्षम नहीं था, लेकिन ट्रंक क्लैंग पहले से ही एलएलवीएम को संकलित कर सकता है। इसलिए मुझे आश्चर्य है कि अगर विकास में या बीटा संस्करणों में एलएलवीएम आईडीई में से कोई है।

हां, मैं जीसीसी-संगत आईडीई के साथ अन्य संकलक के रूप में क्लैंग का उपयोग कर सकता हूं। लेकिन क्या कोई आईडीई है, जो क्लैंग के साथ एकीकृत है ? क्लैंग का एक अलग आउटपुट स्वरूप है, इसलिए IDE को इसे पार्स करना चाहिए। क्लैंग सूत्रों के आईडीई पार्सिंग प्रदान कर सकते हैं। क्लैंग के पास एक विश्लेषण विकल्प है, जिसे एक आईडीई में समर्थित होना चाहिए। उदाहरण के लिए, http://iosdevelopertips.com/xcode/static-code-analysis-clang-and-xcode/-2.html पर एक नज़र डालें

और क्लैंग की सबसे वांछित विशेषता - स्मार्ट ऑटो-पूर्णता है, इसलिए आईडीई केवल सिंटैक्सिली-सही वेरिएंट का सुझाव दे सकता है, उदाहरण के लिए इस संरचना के केवल फ़ील्ड, वर्ग की सूची।

परिणाम: (उत्तर में विलय):


3
मुझे आश्चर्य है कि अगर भविष्य में, Emacs Clang के लिए समर्थन हासिल करता है। Btw वहाँ एक emacs मामूली मोड है यहाँ llvm.org/svn/llvm-project/cfe/trunk/utils/… हालांकि मैंने इसे स्वयं परीक्षण नहीं किया है।
ustun

कोड :: ब्लॉक क्लैंग के साथ काम करता है।
जेम्स हार्पर

जवाबों:


59

एलएलवीएम प्लग-इन ( llvm4eclipsecdt ) के माध्यम से ग्रहण सीडीटी में समर्थित है । यह केवल विंडोज समर्थित आईडीई है जो अब तक एलएलवीएम का समर्थन करता है। मैं प्लग-इन का मुख्य लेखक हूं, इसलिए आप इससे संबंधित कोई भी प्रश्न पूछ सकते हैं।

प्लग-इन Clang और llvm-gcc संकलन और समर्थन लिनक्स और विंडोज (w / Cygwin & MiNGW) के लिए बुनियादी कार्यक्षमता प्रदान करता है। एलएलवीएम उपकरण जैसे कि असेंबलर, आर्काइवर, लिंकर और स्टेटिक कंपाइलर (llc) कॉन्फ़िगर किए गए हैं और UI के माध्यम से अनुकूलित किए जा सकते हैं। प्लग-इन सभी लाभों को प्रदान करता है जो आईडीई एक कार्रवाई के साथ आसान कॉन्फ़िगरेशन और निर्माण की पेशकश कर सकता है।

एकमात्र दोष यह है कि यह अभी तक तैयार नहीं है क्योंकि इसमें कुछ उन्नत सुविधाओं का अभाव है जो एलएलवीएम क्लैंग विश्लेषण और स्मार्ट ऑटो-पूरा करने की पेशकश कर सकते हैं। प्लग-इन का भी अच्छी तरह से परीक्षण नहीं किया गया है और यह पूरी तरह से काम नहीं कर सकता है इसलिए मुझे उम्मीद है कि मैं Google कोड विकास साइट (नीचे सूचीबद्ध) से मिली मेलिंग सूची के माध्यम से उपयोगकर्ता प्रतिक्रिया प्राप्त कर सकता हूं। काश मेरे पास इसे और विकसित करने का समय होता। मैं इसे केवल अपने खाली समय में विकसित करता हूं, जो बहुत सीमित है। मैं परियोजना में भाग लेने और योगदान देने के लिए किसी भी डेवलपर्स का स्वागत करता हूं।

विकास स्थल:
http://code.google.com/p/llvm4eclipsecdt/
https://github.com/TuononenP/llvm4eclipsecdt

ग्रहण बाज़ार (100% मुक्त और खुला स्रोत):
http://marketplace.eclipse.org/content/llvm-toolchain-eclipse-cdt

अद्यतन: प्लगइन पदावनत है। इसके बजाय आधिकारिक ग्रहण अपडेट साइट जैसे http://download.eclipse.org/releases/mars का उपयोग करके प्रोग्रामिंग भाषाओं के तहत "C / C ++ LLVM- पारिवारिक कम्पाइलर बिल्ड सपोर्ट" स्थापित करें।


नमस्ते। आपको यहां देखकर अच्छा लगा! आप कहते हैं "एलएलवीएम और फ्रंट-एंड के लिए मिनगवे बायनेरिज़ प्रदान की जाती हैं" - क्या आप एलएलवीएम के मिंगव्व बायनेरिज़ के लिए एक लिंक (यहां या गूगल-कोड साइट पर) जोड़ सकते हैं?
ऑक्सक्स

1
इसके अलावा, अपने ब्लॉग से थीसिस के बारे में।
क्लैंग

2
आप यहाँ से LLVM 2.9 के लिए mingw बायनेरिज़ प्राप्त कर सकते हैं: llvm.org/releases/download.html#2.9
पेट्री टूनोनेन

1
अच्छी टिप्पणी: आप सही हैं कि LLVM-GCC अन्य भाषाओं के लिए है। मुझे लिखा जाना चाहिए कि "एलएलवीएम संकलन" में कोई विशिष्ट फ्रंट-एंड का उल्लेख नहीं है लेकिन मैं फोरट्रान और एडा को सार से हटा दूंगा।
पेट्री टूनोनेन

आप Microsoft VS. के साथ LLVM कंपाइलर को भी एकीकृत कर सकते हैं। यहाँ लिंक llvm.org/docs/GettingStartedVS.html है । उम्मीद है की यह मदद करेगा।
कृष्ण ओझा २ Krishna

21

LLVM योगदानकर्ता दान Gohman हाल ही में करने के लिए बजना कोड पूर्णता का जोड़ा vim

http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/vim/vimrc LLVM को स्वयं विकसित करने में उपयोग करने के लिए अभिप्रेत है और LLVM कोडिंग शैली के साथ मदद करता है, लेकिन कोड भाग को निकालने में काफी आसान होना चाहिए ।

हाँ, हाँ, विम एक आईडीई नहीं है, लेकिन इसके बारे में जानना उपयोगी हो सकता है।

[संपादित करें] https://llvm.org/svn/llvm-project/cfe/trunk/utils/clang-completion-mode.el emacs के लिए एक समान विकल्प प्रदान करता है ।


11

Qt क्रिएटर क्लैंग के साथ भी काम करता है ...


धन्यवाद, सवाल में जोड़ा गया। क्या आप कह सकते हैं, क्यूटीक्रेटर के किस संस्करण से क्लैंग का समर्थन है?
ऑक्सक्स

1
2.4.1 होगा .. लिनक्स पर, आपको मैन्युअल रूप से क्लैंग टूल चेन को जोड़ने की आवश्यकता नहीं है .. यहाँ जानकारी है कि कैसे टूलकिन
कोकिज़ू

लेकिन यह केवल ऑटो पूर्ण और पार्सिंग के लिए इसका उपयोग कर रहा है
जेम्स हार्पर


5

खिड़कियों के लिए एक नहीं है। लेकिन अगर आप स्मार्ट ऑटो-पूर्ति चाहते हैं, तो netbeans में C ++ के लिए सर्वश्रेष्ठ कोड पूर्ति में से एक है। यह मैक्रोज़, जेनेरिक कंटेनर और स्मार्ट पॉइंटर्स को पार्स करता है। साथ ही यह कंस्ट्रक्टर्स और गेटर्स और सेटर को रिफैक्टिंग, कोड इंसर्शन प्रदान करता है। यह वास्तव में अच्छी तरह से काम करता है। हालांकि, चूंकि यह अभी भी C ++ के लिए एक अलग पार्सर का उपयोग करता है, इसलिए यह संकलक के रूप में कई त्रुटियों को नहीं पकड़ता है।

जावा के लिए नेटबिन को संकलक के साथ एकीकृत किया जाता है, इसलिए यह आपको टाइप करते समय त्रुटियों और चेतावनियों के साथ-साथ सही ढंग से सही कोड पूरा होने पर भी देता है। इसलिए, सीबी + के लिए एक ही तरह की सुविधाएँ प्रदान करने के लिए नेटबिन भविष्य में क्लैंग के साथ एकीकृत होने की बहुत संभावना है।


2
netbeans स्रोत को कैसे पार्स करता है? कौन सा C / C ++ फ्रंटेंड इसका उपयोग करता है?
असग डेस

3
हाँ netbeans कोड को पूरा करने के लिए स्रोत को ही पार्स करता है। शायद भविष्य में वे पार्सिंग के लिए क्लैंग का उपयोग करेंगे, लेकिन अभी तक इसे एकीकृत नहीं किया गया है। आप netbeans gcc या clang के लिए अलग-अलग कंपाइलर का चयन कर सकते हैं। मैं havent यह अभी तक दबंग के साथ की कोशिश की।
पॉल फुल्ट्ज II


5

इसके अलावा, कोडलाइट में स्मार्ट कोड पूरा करने के लिए क्लैंग बैकेंड है। कोडलाइट के साथ क्लैंग कोड-पूर्णता का उपयोग करना देखें ।

कोडलाइट विंडोज के लिए उपलब्ध है, हालांकि, मैंने अभी तक विंडोज के तहत इसका परीक्षण नहीं किया है।


4

क्या मैं SublimeText 2 जोड़ सकता हूँ? इसमें पहले से ही एक प्लगइन SublimeClang है जो क्लैंग आधारित स्मार्ट कोड पूरा करने का समर्थन करता है।


प्लगइन के बारे में: "C / C ++ / ObjC / ObjC ++ के लिए ऑटो पूर्ण सुझाव प्रदान करना। यह कोड को वैकल्पिक रूप से पार्स करेगा क्योंकि यह टाइप किया गया है और त्रुटियों और चेतावनियों को दिखाता है।"
ऑगक्स


1
इसके बजाय Sublime 3 के लिए EasyClangComplete
धूप चन्द्रमा

4

LLVM विंडोज स्नैपशॉट बनाता है - विंडोज इंस्टॉलर के रूप में विजुअल स्टूडियो के लिए एक क्लैंग टूलसेट। वर्तमान में इसे विज़ुअल स्टूडियो 2010, 2012 और 2013 के साथ एकीकृत किया जाना चाहिए। अधिक जानकारी एलएलवीएम के ब्लॉग पोस्ट पर पाया जा सकता है । विंडोज पर एलएलवीएम टूलचैन के लिए आगे का रास्ता


3

Clang में एक ड्राइवर है जो (कम से कम माना जाता है) gcc के लिए एक सीधा विकल्प है, इसलिए अनिवार्य रूप से कोई भी IDE जो कि gcc का उपयोग कर सकता है क्योंकि उसका संकलक उसके संकलक के रूप में भी clang का उपयोग करने में सक्षम होना चाहिए (हालाँकि मैंने व्यक्तिगत रूप से इसका परीक्षण नहीं किया है) इसलिए मैं वास्तव में यह कैसे काम करता है के लिए व्रत नहीं कर सकता)।


1
लेकिन मानक टूलसेट के अतिरिक्त किसी भी सुविधाओं का उपयोग करने में सक्षम नहीं होगा, जैसे कि कोड-विश्लेषण और टैब-पूरा करना।
मूविंग डक

3

नहीं।

वर्तमान में केवल xcode में न्यूनतम क्लैंग सपोर्ट है। यदि आप विंडोज़ पर क्लैंग स्टैटिक विश्लेषण का उपयोग करना चाहते हैं, तो आपको इसे CLI के माध्यम से करना होगा।


6
इस तरह के उत्तर / प्रश्नों का एक समयबाह्य होना चाहिए .. (मेटा विषय)
हर्नान ईचे

हर्नान एचे, हाँ, लेकिन मैं कभी भी स्वीकृत उत्तर को बदल सकता हूं। आप मुझसे पूछ सकते हैं कि क्या आपको लगता है कि स्थिति बदल गई है और इसका उत्तर "हां" है
ओस्गक्स

3

विंडोज के लिए केडीवलप एक और विकल्प है। हालांकि अभी भी प्रारंभिक अवस्था में हैं (आपको वर्तमान में MSVC / MinGW कंपाइलर का उपयोग करने में सक्षम होने के लिए वातावरण सेट करने की आवश्यकता है), यह प्रयोग करने योग्य है और IDE के भयानक कोड को विंडोज में लाता है।

https://www.kdevelop.org/features


1

काफी आईडीई नहीं है, लेकिन आईडीई और सादे संपादक के बीच एक क्रॉसओवर है, उन लोगों के लिए एक उपयोगी विकल्प जो हाथ से लिखने में कोई आपत्ति नहीं करते हैं: उदात्त पाठ 3 संपादक और EasyClangComplete प्लगइन का एक कॉम्बो (प्लस क्लैंग प्रारूप) आपके कोड को साफ रखने के लिए और साफ)। एलएलवीएम एमएसवीसी-संगत बनाने के लिए हाल के प्रयासों के लिए विंडोज धन्यवाद पर अच्छी तरह से काम करता है ( क्लैंग-क्ल भी 2018 के रूप में संगत .PDB s बनाने में सक्षम है , जो डीबगिंग के लिए महत्वपूर्ण है)।

अपडेट: 2019 के रूप में, EasyClangComplete को एक बेहतर और भविष्य प्रूफ वैकल्पिक उपयोग कर रहा है Clangd के माध्यम से LSP प्लगइन।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.