2010-03-21 49 views
88

是否有一些Windows版本的C/C++ IDE,它是與LLVM編譯器(和Clang C/C++分析器)集成的,就像現代Xcode一樣。用於Windows的LLVM C++ IDE

我有Dev-Cpp(它使用過時的GCC)和Code::Blocks(與一些GCC)。但GCC給了我非常神祕的錯誤信息。我想從Clang前端獲得更多用戶友好的錯誤消息。

是的,Clang不能用於複雜的C++代碼,但是中繼Clang已經可以編譯LLVM本身。所以我想知道是否有LLVM IDE在開發或測試版本。

是的,我可以使用Clang作爲其他編譯器與GCC兼容的IDE。但是有沒有任何IDE,那是與Clang的集成? Clang具有不同的輸出格式,所以IDE必須解析它。 Clang可以提供IDE源解析。 Clang有一個分析選項,必須在IDE中支持。請看一下,例如http://iosdevelopertips.com/xcode/static-code-analysis-clang-and-xcode-3-2.html

Clang最需要的功能是智能自動完成功能,因此IDE只能提示語法正確的變體,只列出這個結構類的字段。

結果:(從答案合併):

+3

我想知道Emacs是否會在未來獲得對Clang的支持。 順便說一句,有一個emacs小模式在這裏https://llvm.org/svn/llvm-project/cfe/trunk/utils/clang-completion-mode.el雖然我沒有測試它自己。 – ustun 2010-07-10 11:22:59

+0

QtCreator ..> _ <#ignored .. – Kokizzu 2012-03-25 15:21:09

+0

Code :: Blocks與Clang一起使用。 – 2014-08-26 06:53:42

回答

55

LLVM在Eclipse CDT的經由插件(llvm4eclipsecdt)的支持。據我所知,僅支持Windows支持的LLVM的Windows只支持。我是插件的主要作者,因此您可以提出與其相關的任何問題。

該插件提供了Clang和llvm-gcc編譯的基本功能,並支持Linux和Windows(帶Cygwin & MiNGW)。諸如彙編器,存檔器,鏈接器和靜態編譯器(llc)之類的LLVM工具已配置並可通過UI進行自定義。該插件提供了IDE可以提供的所有優點,例如輕鬆配置和構建一個動作。

唯一的缺點是它還沒有準備好,因爲它缺乏LLVM可以提供的一些高級功能,如Clang分析和智能自動完成功能。該插件也未經過良好測試,可能無法正常工作,因此我希望可以通過Google代碼開發站點(下面列出)中的郵件列表獲得用戶反饋。我希望我有時間進一步發展。我只是在業餘時間開發它,這是非常有限的。我歡迎任何開發者參與併爲項目做出貢獻。

開發網站:
http://code.google.com/p/llvm4eclipsecdt/
https://github.com/TuononenP/llvm4eclipsecdt

的Eclipse市場(100%免費&開源):
http://marketplace.eclipse.org/content/llvm-toolchain-eclipse-cdt

UPDATE:插件已被棄用。請使用正式的Eclipse更新站點在編程語言下安裝「C/C++ LLVM-Family Compiler Build Support」。 http://download.eclipse.org/releases/mars

+0

嗨。很高興在這裏見到你!您說「MinGW二進制文件是爲LLVM和前端提供的」 - 您可以添加(在這裏或谷歌代碼網站上)到LLVM的mingw二進制文件的鏈接嗎? – osgx 2011-05-12 14:07:07

+1

另外,關於你博客的論文。 clang不適用於ada或fortran:「對於其他語言,包括Java,Fortran和Ada,LLVM仍然依賴於GCC」 – osgx 2011-05-12 14:19:26

+2

您可以從這裏獲取LLVM 2.9的mingw二進制文件:http://llvm.org/releases/download。 html#2.9 – 2011-05-13 07:58:30

3

鏘有(至少應該是)一個驅動器gcc的直接替代品,所以本質上是可以使用gcc作爲其編譯器應該能夠使用鐺作爲其編譯爲任何IDE (儘管我沒有親自測試過,所以我不能真正證明它的工作效果)。

+1

但是不能使用除標準工具集以外的任何功能,例如代碼分析和製表符完成。 – 2012-09-04 16:48:11

3

編號

只有xcode目前對clang的支持很少。如果你想在Windows上使用clang靜態分析,你必須通過CLI來完成。

+6

這種回答/問題應該有一個超時。(元主題) – 2010-11-02 18:58:47

+0

埃爾南埃切,是的,但我可以隨時更改接受的答案。你可以問我,如果你覺得情況改變了,答案是「是」 – osgx 2010-11-08 17:22:15

20

LLVM撰稿人Dan Gohman最近將Clang代碼完成添加到vim

http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/vim/vimrc旨在用於開發LLVM本身,並有助於LLVM編碼風格,但代碼完成部分應該很容易提取。

是的,是的,vim不是IDE,但它可能有助於瞭解。

https://llvm.org/svn/llvm-project/cfe/trunk/utils/clang-completion-mode.elemacs提供了一個類似的選項。

+4

VIM不僅僅是IDE。謝謝你的好消息! – osgx 2010-10-31 00:00:31

+3

聖莫利,我一直在等待這麼多年.... VIM + Bash + cmake = IDE – 2010-11-04 14:44:56

5

窗戶沒有一個。但是,如果你想要智能自動完成,netbeans具有C++最好的代碼完成之一。它解析宏,通用容器和智能指針。另外它還提供重構,構造函數和getter和setter的代碼插入。它工作得很好。但是,由於它仍然爲C++使用單獨的解析器,因此它不會捕獲像編譯器那樣多的錯誤。

Java的Netbeans與編譯器集成在一起,因此它在輸入時會給出錯誤和警告,以及語法正確的代碼完成。因此,NetBeans很可能在未來與clang集成爲C++提供相同類型的功能。

+2

netbeans如何解析源代碼?它使用哪個C/C++前端? – osgx 2010-12-24 05:01:13

+3

是的netbeans解析代碼完成的源本身。也許將來他們會使用clang進行解析,但還沒有被整合。您可以爲netbeans gcc或clang選擇不同的編譯器。我還沒有嘗試與鏗鏘。 – 2010-12-24 14:45:59

8

Qt Creator作品也與鏘......

+0

,它可以與Windows一起使用嗎? – osgx 2012-02-25 11:21:44

+2

當然,QtCreator是跨平臺的IDE .. – Kokizzu 2012-03-13 14:52:04

+0

謝謝,添加到問題。你能說,從哪個版本的QTcreator那裏得到了clang的支持? – osgx 2012-03-25 22:15:31

4

我可以補充SublimeText 2?它已經有一個插件SublimeClang,它支持基於clang的智能代碼完成。

+0

關於插件:「爲C/C++/ObjC/ObjC++提供自動完成建議。可以選擇解析代碼,因爲它是鍵入的,並顯示錯誤和警告。「 – osgx 2012-07-08 14:41:41

+0

***未完成*** – 2016-04-26 00:46:05

6

現在他們正在添加對Visual Studio link的支持。 它可以下載here

2

KDevelop對於Windows是另一種選擇。儘管還處於早期階段(您目前需要設置環境以便能夠自己使用MSVC/MinGW編譯器),但它仍然可用,並將IDE的代碼理解功能帶入Windows。

https://www.kdevelop.org/features