如何在cygwin上构建llvm和clang
我可以从源代码在cygwin上构建LLVM和clang吗如何在cygwin上构建llvm和clang,cygwin,llvm-clang,Cygwin,Llvm Clang,我可以从源代码在cygwin上构建LLVM和clang吗 构建LLVM和Clang需要多长时间?因为我尝试在VirtualBox上构建它们,需要大约2个小时。您想开发llvm/clang还是使用llvm/clang开发?对于后一种情况,为什么不从cygwin存储库安装llvm-3.1/clang二进制文件?它们在我的Windows 7上运行得很好。Clang(,)和LLVM(,)目前作为Cygwin软件包提供 安装Cygwin软件包将大大减少您的麻烦在这方面花了一些精力,我想分享我的一些发现可能
构建LLVM和Clang需要多长时间?因为我尝试在VirtualBox上构建它们,需要大约2个小时。您想开发llvm/clang还是使用llvm/clang开发?对于后一种情况,为什么不从cygwin存储库安装llvm-3.1/clang二进制文件?它们在我的Windows 7上运行得很好。Clang(,)和LLVM(,)目前作为Cygwin软件包提供
安装Cygwin软件包将大大减少您的麻烦在这方面花了一些精力,我想分享我的一些发现可能是值得的。我设法在Cygwin 1.7.28(x86)上构建了Clang+LLVM 3.4 Cygwin特异性 修复机器整数类型 最近对Cygwin的更新似乎破坏了Clang使用的一个系统头。服务器上提供了不完整的修补程序。这是 包含C++标准库的目录
CLAN+++(3.4)仍然为C++标准库的包含目录(它依赖于GCC提供的目录)硬编码。如果路径不正确(如CygWin上经常出现的情况),则当包含任何C++头(如<代码> <代码> >时,将遇到问题。解决此问题的两种可能方法:
- 您可以将正确的路径添加到代码中。这是相当不灵活的,因为每次更改时都必须重新编译Clang++并且在Cygwin上需要很长时间。如果要执行此操作,可以在第389行的
中找到代码clang/lib/Frontend/InitHeaderSearch.cpp
- 或者,您可以在Clang期望的位置创建一个符号链接
- 通过执行以下命令,识别Clang++搜索的目录:
你应该找到一些类似的东西echo | clang++ -v -x c++ -
可能会有几个不同的版本号ignoring nonexistent directory "/usr/lib/gcc/i686-pc-cygwin/X.Y.Z/include/c++"
。选择任意一个,然后创建指向正确位置的符号链接:X.Y.Z
其中ln -s A.B.C /usr/lib/gcc/i686-pc-cygwin/X.Y.Z
是当前安装的GCC版本A.B.C
- 通过执行以下命令,识别Clang++搜索的目录:
libncurses-devel
)。没有它,Clang将退回到无色模式,因为LLVM无法检测终端是否支持颜色
您仍然可以使用-fcolor diagnostics
强制显示颜色,但是GCC的链接器将被此标志阻塞,这使得使用非常不方便
系统独立
这是最简单(也是最长)的部分,对于大多数情况,LLVM+Clang文档中的所有内容都适用于这里
tools
子目录中
mv clang-X.Y llvm-X.Y/tools/clang
./configure --enable-optimized
Clang更喜欢选择自己作为编译器,因此如果您还没有一个可用的Clang安装,请使用CC
和CXX
环境变量强制它使用GCCmake && make install
它们叫什么?因为我找不到64位。@cmcdragokai-我为您添加了直接链接;看起来它现在可用于64位。如何在windows上为clang提供libstdc++呢。