【问题标题】:build toolchain with cmake, clang and llvm for visual studio使用 cmake、clang 和 llvm 为 Visual Studio 构建工具链
【发布时间】:2013-10-31 01:25:12
【问题描述】:

我google了很多,没有找到合适的答案,所以我在这里问。

我需要采取哪些步骤来从现有代码开发一个应使用cmakeclang编译的c++项目? p>

我还希望拥有所有不错的功能,例如自动完成和断点调试以及逐步调试。

【问题讨论】:

  • 我已经找到了,但结果中没有提到 Visual Studio。我还找到了llvm.org/builds,他们说它适用于视觉工作室。所以问题是:我必须如何配置 VS 才能与 llvm 和 clang 一起使用。
  • 我还想拥有所有不错的功能,例如自动完成和断点调试以及逐步调试。 - 在这种情况下,你现在不走运。 Windows 上的 Clang 支持仍处于早期阶段,我们还远远没有达到这样的舒适度。

标签: c++ visual-studio cmake clang llvm


【解决方案1】:

请参阅最近的 LLVM 快照页面,了解与 Visual Studio here 集成的 Windows 版本。有一个安装程序和一个代码格式化插件。您将无法获得自动完成功能,并且 Clang/LLVM 与 Visual Studio 中的调试无关(除非您使用 Clang 编译它可能无法工作)。

另请参阅 this interesting blog post 预测未来 Windows 上的 LLVM 会非常好,并得到有付费开发人员的公司的支持 ;-)

【讨论】:

  • 感谢您的回答。我已经找到了你提到的页面。但他们都没有告诉我,如何设置 Visual Studio 以使用 cmake 和 Clang/LLVM。
  • 您可以使用最近的(当前是 git master)CMake 并告诉它使用 clang。我不知道 VS 项目文件生成器是否能够处理这个问题。如果是,您应该可以将其加载到 VS 中并使用 Clang 进行编译。
  • 我尝试了一些听起来与您的建议相似的方法,但我不确定它是否真的相同。但是我尝试过的没有奏效。你能测试一下你的建议,并告诉我它是否有效吗?
  • @Rico-E 抱歉,我没有安装 VS。如果它不起作用,我敢打赌这还不可能。人们仍在努力使 LLVM 编译器/链接器在 Windows 上工作,所以不要指望构建工具在这里跟上速度。此外,除非 Clang 获得类似 cl 的前端,否则不要对体面的 VS 构建系统集成抱有希望。目前,Clang 理解类似 GCC 的命令行参数,而 VS 非常专注于自己的编译器前端。
  • 一旦你安装了 LLVM 包,你可能会错过这一步:要使用 Visual Studio 中的 LLVM 工具链,请在解决方案资源管理器中选择一个项目,打开其属性页(默认为 Alt+F7),然后在“配置属性”的“常规”部分将“平台工具集”更改为“LLVM-vs2012”、“LLVM-vs2013”​​等。
【解决方案2】:

了解 clang 人员为 Windows 所做的事情是个好主意。最后两个版本3.63.7 显示了对产品的承诺,但仍然存在一些漏洞:MSVC C++: /Z7 但不完全是 /Zi 调试信息,不是与 MSVC C++ 异常(但 Windows SEH 有效)非常兼容,这意味着目前它更像是一个辅助构建工具,而不是您可以构建任何正在运行的产品的工具。我同意目前的异常问题。

我没有 strakh 发布两个以上的链接,但中间的每周笔记,有很多有趣的 sn-ps,包括 lldb 到 Windows 的到来和(如果你关心这个某种东西)关于在 Windows 上为 CLR 编译的更长的帖子。无论哪种方式,定期查看blog.llvm.org 是保持此答案最新的好主意。

【讨论】:

    猜你喜欢
    • 2014-04-20
    • 1970-01-01
    • 2012-05-04
    • 2014-12-29
    • 2018-04-28
    • 1970-01-01
    • 2016-09-19
    • 2017-09-10
    • 1970-01-01
    相关资源
    最近更新 更多