适用于Windows的LLVM C ++ IDE


92

是否有一些适用于Windows的C / C ++ IDE ,就像现代Xcode一样,该IDE 与LLVM编译器(和Clang C / C ++分析器)集成在一起。

我有Dev-Cpp(它使用了过时的GCC)和Code :: Blocks(带有一些GCC)。但是GCC给了我非常神秘的错误信息。我想从Clang前端获得一些更加用户友好的错误消息。

是的,Clang不能与复杂的C ++代码一起使用,但是Clang干线已经可以编译LLVM本身。所以我想知道是否有任何LLVM IDE正在开发中或处于beta版本中。

是的,我可以将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只能建议语法正确的变体,例如,仅列出此struct,class的字段。

结果:(与答案合并):


3
我想知道将来Emacs是否会获得对Clang的支持。顺便说一句,这里有一个emacs次要模式llvm.org/svn/llvm-project/cfe/trunk/utils / ...尽管我自己还没有测试过。
ustun

代码:: Blocks与Clang一起使用。
詹姆斯·哈珀

Answers:


59

Eclipse CDT通过插件(llvm4eclipsecdt)支持LLVM 。据我所知,这是唯一支持LLVM的Windows支持的IDE。我是该插件的主要作者,因此您可以提出与此插件有关的任何问题。

该插件提供了Clang和llvm-gcc编译的基本功能,并支持Linux和Windows(带有Cygwin和MiNGW)。可以配置LLVM工具,例如汇编器,归档器,链接器和静态编译器(llc),并可以通过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

更新:不推荐使用该插件。而是使用官方的Eclipse更新站点,例如http://download.eclipse.org/releases/mars,在“编程语言”下安装“ C / C ++ LLVM-Family Compiler Build Support”。


你好 很高兴在这里见到你!您说“为LLVM和前端提供了MinGW二进制文件”-您可以在此处或在Google代码站点上添加指向LLVM的Mingw二进制文件的链接吗?
osgx 2011年

1
另外,关于您博客中的论文。clang不适用于ada或fortran:“对于其他语言,包括Java,Fortran和Ada,LLVM仍然依赖于GCC”
osgx 2011年

2
您可以从此处获取LLVM 2.9的mingw二进制文件:llvm.org/releases/download.html#2.9
Petri Tuononen 2011年

1
请注意:LLVM-GCC适用于其他语言,这是正确的。我应该写过“ LLVM编译”,没有提到任何特定的前端,但是我将从摘要中删除Fortran和Ada。
Petri Tuononen

您还可以将LLVM编译器与Microsoft VS集成在一起。这是链接llvm.org/docs/GettingStartedVS.html。希望这可以帮助。
克里希纳(Krishna Oza)2014年




5

Windows没有一个。但是,如果您想要智能自动补全功能,netbeans具有C ++最好的代码补全之一。它解析宏,通用容器和智能指针。此外,它还提供重构,构造函数以及getter和setter的代码插入。它真的很好。但是,由于它仍然为C ++使用单独的解析器,因此它捕获的错误不如编译器那么多。

Netbeans for Java与编译器集成在一起,因此在您键入时会给出错误和警告以及语法上正确的代码完成。因此,netbeans将来很可能会与clang集成以为C ++提供相同的功能。


2
netbeans如何解析源?它使用哪个C / C ++前端?
osgx 2010年

3
是的,netbeans解析源本身以完成代码。也许将来他们会使用clang进行解析,但尚未将其集成到其中。您可以为netbeans gcc或clang选择不同的编译器。我还没有尝试用c。
Paul Fultz II 2010年





3

Clang的驱动程序(至少应该是)可以直接替代gcc,因此,基本上任何可以使用gcc作为其编译器的IDE都应该也可以使用clang作为其编译器(尽管我没有亲自对其进行测试,因此我无法真正保证其效果如何)。


1
但是将无法使用标准工具集之外的任何功能,例如代码分析和制表符完成。
Mooing Duck 2012年

3

没有。

当前只有xcode具有最少的clang支持。如果要在Windows上使用clang静态分析,则必须通过CLI进行。


6
这种回答/问题应该有一个暂停。(元话题)
埃尔南Eche

HernánEche,是的,但是我可以随时更改接受的答案。您可以问我是否感觉情况已经改变,答案是“是”
osgx 2010年


1

不是完全的IDE,而是IDE和普通编辑器之间的交叉点,对于那些不介意手工编写配置的人来说,这是一个可用的替代方案:Sublime Text 3编辑器和EasyClangComplete插件的组合(加上Clang格式,可保持代码整洁和整洁)。由于最近为使LLVM与MSVC兼容而做出的努力在Windows上运行良好(Clang-cl自2018年起也能够生成兼容的.PDB,这对于调试至关重要)。

更新:从2019年开始,EasyClangComplete的一种更好且面向未来的替代方法是通过LSP插件使用Clangd

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.