2014-05-23 25 views
0

我已阅读在线文档并使用Cmake和visual studio使用Getting Started with the LLVM System using Microsoft Visual Studio构建LLVM。我找不到如何在现有的Visual Studio项目中使用LLVM。我对这个环境很陌生,并希望得到任何帮助。LLVM 3.4与VS 2012集成

编辑1:我参与了一个项目,我需要建立一个口译员。该项目限制我在VS编码。

这里有错误,当我试图整合LLVM和VS,我必须做一些可怕的错误LLVM compilation errors on VS 2012

编辑2:我是不清楚的,我们应该如何在整合LLVM现有VS项目在成功构建LLVM(并在系统上安装)后,执行

编辑3:我的目标是利用clang/llvm开发我自己的语言。我不知道如何做到这一点坐在VS环境。

+0

看一看[clang-cl](http://clang.llvm.org/docs/UsersManual.html#clang-cl) – nwp

+0

@nwp我猜这有个bug阻止我走这个方向@ (http://stackoverflow.com/questions/20579216/clangvs2013-error-when-including-c-header-vs2012working) – Segmented

+0

自从[clang-cl介绍]之后,我很有希望(http://llvm.org/devmtg/ 2014-04/PDFs/Talks/clang-cl.pdf)表示clang-cl存在已知问题,但是如果clang-cl失败,可以使用clback编译回退机制。所以理论上它应该能够随时编译所有的东西,并且不同的clang-cl和cl参与。 – nwp

回答

3

你所遵循的指令不应该产生“Visual Studio提供的编译器的插件替换”,而是一种通常构建LLVM + CLANG的方式 - 当然,除非你想要花费很多工作[1],要构建用C++编写的编译器,您需要一个现有的C++编译器 - 并且这些说明显示了如何使用Visual Studio进行编译。然后你的系统上有一个clang和clang ++编译器和工具,但它并不意味着“在Visual Studio中使用它”。

从我过去的经验中可以看出,Visual Studio编译器不是可以轻易替换的,但是您当然可以使用Makefile Project以任何您喜欢的方式编译任何东西。

从MS此讨论内容提供另一种解决方案,但同样,这不是一个“即插在”解决方案: http://social.msdn.microsoft.com/forums/vstudio/en-US/b9610ed2-e8ae-48c9-864c-e3d12af97b05/support-an-alternative-compiler

一些进一步的谷歌搜索显示了这件事: https://github.com/ishani/ClangVSx

我不知道,如果那个效果不好 - 它似乎只“支持”3.3版本,当前版本是3.4,“最新版本”是3.5版本。我怀疑有很大的差异,但我也不确定有没有“差异”。 [编辑]你可以从无到有“引导”一个编译器,但编写一个能够完成语言子集的小型编译器,多次重复这个编译器,最终编译实际的编译器,这确实是相当多的工作。一个更完整的编译器 - 并且LLVM甚至几乎不是为那个设计的。

+0

感谢您的快速回复。我的目标是为这个项目建立一个翻译。我使用的是winflexbison,但是我想用LLVM来设计编译器。我遵循教程@ [玩具编译器](http://gnuu.org/2009/09/18/writing-your-own-toy-compiler/)。我正在寻找一种方法来从VS做到这一点。 – Segmented

+0

非常像我的项目,除了我写了我自己的解析器(我正在使用Linux ...):https://github.com/Leporacanthicus/lacsap –

+0

感谢您提供的示例...但我受限于使用VS和我贡献的项目将很难迁移到Linux ... – Segmented