LLVM汇编语言在Windows上的Hello World

11
作为一名经验丰富的程序员,我感到非常愚蠢地提出这样一个问题:是否有一个逐步指南来解释如何编写LLVM汇编语言中的“Hello World”程序,最终生成一个可以在标准Windows PC上执行的简单的“hello.exe”?
我按照几十个这样的教程进行了跟随,解释如何检出、制作、编译 llvm 等。 但是它们要求其他软件(导致另一次教程马拉松),或者以一些“路径/文件/Dll未找到”的错误告终(导致另一次教程马拉松)。 我成功让 llvm.exe 运行了一次。现在 Windows 报告应用程序崩溃了?!
现在我感到完全迷失在过时的教程、错误、不兼容性、模拟器/虚拟机、IDE、交叉链接、32位与64位、带/不带 WinGW、带/不带 Cygwin、带/不带 Visual Studio、带/不带 clang、实验性、不支持、缺少环境变量等的迷宫中。
我期望找到一个安装程序或包含一堆预编译的 dll 和 exe 文件的档案,可以通过命令行直接使用。我只想使用裸 llvm 工具集——没有 clang,没有 Visual Studio(如果可能的话)——就像 javac.exe、masm.exe、fasm.exe、link.exe 等一样。
如果我必须自己编译 llvm,那么通过 Eclipse-CDT 实现这一点的可能性将是很好的——我无法导入项目而没有发现任何 FileNotFound 错误;这与某些关于目录结构的 make 特定不兼容性有关... cmake 应该解决了那个问题,但到目前为止我找到的唯一教程是关于 cmake-gui 的——由于其他原因而无法安装...
请问有人能指点我一个关于如何获得可工作的 llvm-as.exe 的最新教程或撰写一个详细的步骤说明吗?
谢谢您的帮助 - 我已经在这上面浪费了三天:/

一个网络搜索揭示了LLVM参考中的Hello world模块。 - Kerrek SB
正如我在描述中提到的,真正的挑战是让这段代码在Windows下编译。 "Hello World"只是一个占位符,用于验证工具链是否按预期工作。 - Kai Giebeler
截至2016年,这些问题仍然存在。http://llvm.org/builds/有预编译的Windows版本,但只包含`clang`和`lld`。有一个GitHub页面提供了一堆编译好的二进制文件,但其中的`llc`无法编译我测试的所有Hello-World程序。 - BoppreH
1个回答

4
LLVM在Windows上的支持历史上一直不够好,但最近情况发生了变化,你来得正是时候。只需一个月前,这篇LLVM博客文章就指出了这个用于Windows的二进制构建页面。获取工具后,“hello world”的流程与其他平台类似,从LLVM教程开始是个好主意。
顺便提一下,还有一个Windows入门指南,尽管我不确定它是否与上面提到的博客文章同步更新。在该过程中,它确实创建了一个“hello world”LLVM IR文件。

2
谢谢。我看到了这篇博客,但没有注意到深度链接。尝试安装时出现“未找到MSBuild工具集目录”错误,而“安装MSVC集成”则失败。 - Kai Giebeler
“在Windows上入门指南”仍需要CMake和Visual Studio才能构建LLVM。所链接的CMake说明是针对Linux系统的 - 我预计在将此指南应用于Windows时会遇到一些问题并进行更深入的研究。也许我可以从上述安装程序中提取一些二进制文件...非常感谢Kaleidoscope-link,它正好介绍了我在LLVM运行时想做的事情。” - Kai Giebeler
@KaiGiebeler:如果您在使用二进制安装程序时遇到问题,我建议您发送电子邮件至llvmdev@邮件列表。也许有些事情已经改变或存在已知问题。这些事情都是新的和动态的。 - Eli Bendersky

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接