Windows用LLVM C ++ IDE


92

最近のXcodeと同じように、LLVMコンパイラー(およびClang C / C ++アナライザー)と統合されたWindows用のC / C ++ IDEはありますか?

Dev-Cpp(古いGCCを使用)とCode :: Blocks(一部のGCCを使用)があります。しかし、GCCは非常に不可解なエラーメッセージを表示します。Clangのフロントエンドからさらにユーザーフレンドリーなエラーメッセージを取得したいのですが。

はい、Clangは複雑なC ++コードでは使用できませんでしたが、トランクClangはすでにLLVM自体をコンパイルできます。だから、開発中のベータ版のLLVM IDEはあるのだろうか。

はい、ClangをGCC互換IDEの他のコンパイラとして使用できます。しかし、Clangと統合されているIDEはありますか?Clangでは出力形式が異なるため、IDEで解析する必要があります。Clangは、ソースのIDE解析を提供できます。Clangには分析オプションがあり、IDEでサポートする必要があります。見てください、例えばhttp://iosdevelopertips.com/xcode/static-code-analysis-clang-and-xcode-3-2.html

そして、Clangの最も望ましい機能-スマートなオートコンプリートなので、IDEは構文的に正しいバリアントのみを提案できます。たとえば、この構造体、クラスのフィールドのみをリストします。

結果:(回答からマージ):


3
将来的には、EmacsがClangをサポートするようになるのでしょうか。ところで、ここにはllvm.org/svn/llvm-project/cfe/trunk/utils/…の emacsマイナーモードがありますが、私は自分でテストしていません。
ustun

Code :: BlocksはClangで動作します。
James Harper

回答:


59

LLVMは、Eclipse CDTでプラグイン(llvm4eclipsecdt)を介してサポートされます。私が知る限り、これはLLVMサポートする唯一のWindows対応IDEです。私はプラグインの主な作者なので、プラグインに関連する質問をすることができます。

このプラグインは、Clangおよびllvm-gccコンパイルの基本機能を提供し、LinuxおよびWindows(CygwinおよびMiNGWを含む)をサポートします。アセンブラー、アーカイバー、リンカー、静的コンパイラー(llc)などのLLVMツールが構成され、UIを介してカスタマイズできます。プラグインは、簡単な設定や1つのアクションでのビルドなど、IDEが提供するすべての利点を提供します。

唯一の欠点は、Clang分析やスマートオートコンプリートなど、LLVMが提供できる高度な機能の一部が不足しているため、まだ準備ができていないことです。プラグインも十分にテストされておらず、完全に機能しない可能性があるため、Googleコード開発サイト(下記)から見つけたメーリングリストを介してユーザーからフィードバックを得ることができれば幸いです。私はそれをさらに発展させる時間があればいいのですが。私は非常に限られた私の暇な時にそれを開発します。プロジェクトに参加して貢献する開発者を歓迎します。

開発サイト:
http://code.google.com/p/llvm4eclipsecdt/
https://github.com/TuononenP/llvm4eclipsecdt

Eclipseマーケットプレイス(100%無料&オープンソース):
http://marketplace.eclipse.org/content/llvm-toolchain-eclipse-cdt

更新:プラグインは非推奨になりました。代わりに、公式のEclipse更新サイト(http://download.eclipse.org/releases/marsなど)を使用して、プログラミング言語の下に「C / C ++ LLVMファミリコンパイラビルドサポート」をインストールしてください。


こんにちは。ここであなたに会えてうれしい!あなたは「MinGWバイナリがLLVMとフロントエンドに提供されている」と言います-LLVMのmingwバイナリへのリンクを(ここまたはgoogle-codeサイトで)追加できますか?
osgx

1
また、ブログの論文について。clangはadaやfortran向けではありません:「Java、Fortran、Adaを含む他の言語では、LLVMはGCCに依存したままです」
osgx '12年

2
LLVM 2.9のmingwバイナリは、ここから入手できます:llvm.org/releases/download.html#2.9
Petri Tuononen

1
良い注記:LLVM-GCCが他の言語用であるというのはあなたの言う通りです。「LLVMはコンパイルする」という特定のフロントエンドについては言及していなかったはずですが、アブストラクトからFortranとAdaを削除します。
Petri Tuononen、

LLVMコンパイラをMicrosoft VSと統合することもできます。ここにリンクllvm.org/docs/GettingStartedVS.htmlがあります。お役に立てれば。
クリシュナオザ14

21

LLVMの寄稿者であるDan Gohmanは最近、vimに Clangコード補完を追加しました。

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に同様のオプションを提供します。




5

窓用はありません。しかし、スマートなオートコンプリートが必要な場合は、netbeansがC ++向けの最高のコード補完の1つを備えています。マクロ、汎用コンテナー、スマートポインターを解析します。さらに、リファクタリング、コンストラクタ、ゲッター、セッターのコード挿入を提供します。それは本当にうまくいきます。ただし、C ++では別のパーサーを使用しているため、コンパイラーほど多くのエラーをキャッチしません。

Netbeans for Javaはコンパイラーに統合されているため、入力時にエラーや警告が表示され、構文的に正しいコード補完が行われます。したがって、netbeansは将来的にclangと統合して、C ++に同じ種類の機能を提供する可能性が非常に高くなります。


2
netbeansはどのようにソースを解析しますか?どのC / C ++フロントエンドを使用していますか?
osgx

3
はい、netbeansはソース自体を解析してコード補完を行います。おそらく将来的には、解析にclangを使用するようになりますが、まだ統合されていません。netbeans gccまたはclangには異なるコンパイラを選択できます。私はまだclangで試していません。
Paul Fultz II、2010



4

SublimeText 2を追加できますか?clangベースのスマートコード補完をサポートするSublimeClangプラグインがすでにあります。


プラグインについて:「C / C ++ / ObjC / ObjC ++のオートコンプリートの提案を提供します。入力時にコードを解析し、エラーと警告を表示することもできます。」
osgx

終了
JohanBoulé16年

1
代わりにEasyClangComplete for Sublime 3。
晴れた月、


3

Clangにはgccを直接置き換える(少なくとも想定される)ドライバーがあるため、コンパイラーとしてgccを使用できるすべてのIDEは、コンパイラーとしてclangも使用できるはずです(私は個人的にテストしていませんが、だから私はそれがどれほどうまく機能するかを実際に保証することはできません)。


1
ただし、コード分析やタブ補完など、標準のツールセットに追加された機能は使用できません。
Mooing Duck

3

番号。

現在、xcodeのみが最小限のclangサポートを備えています。Windowsでclang静的分析を使用する場合は、CLIを使用して行う必要があります。


6
答え/質問のこの種のは、タイムアウトを持つべきである。..(メタトピック)
エルナンEche

エルナンエシェ、そうですが、私は受け入れられた答えをいつでも変更できます。状況が変わったと感じ、答えが「はい」であるかどうかを私に尋ねることができます
osgx

3

KDevelop for Windowsは別のオプションです。まだ初期段階ですが(現在、MSVC / MinGWコンパイラーを自分で使用できるように環境を設定する必要があります)、それは使用可能であり、IDEのすばらしいコードをWindowsで理解できます。

https://www.kdevelop.org/features


1

完全にIDEではありませんが、IDEとプレーンエディターのクロスオーバーのようなもので、手作業で設定を書くことを気にしない人のための便利な代替手段:Sublime Text 3エディターとEasyClangCompleteプラグインの組み合わせ(コードを適切に保つためのClang形式)と整頓)。LLVMをMSVC互換にする最近の取り組みのおかげで、Windowsでうまく機能します(Clang-clは、2018年現在、互換性のある.PDBを生成することもできます。これはデバッグに不可欠です)。

更新: 2019年現在、EasyClangCompleteのはるかに優れた、将来性のある代替手段として、LSPプラグインを介してClangdを使用しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.