windows 下安装 clang5.0

  • 下载 llvm5.0-win64 ,安装到 D:/llvm500-x64
  • 下载 MinGW-W64 GCC-5.4.0 x86_64-posix-seh , 安装到 D:/mingw540-x64
    • 5.4.0 当前的稳定版本
    • x86_64 是 64 位版本, i686 是 32 位版本
    • posix 支持 c++11 线程,win32 无 c++11 线程特性
    • clang 默认连接 seh 版本,不能用 sjlj 版本
  • D:/llvm500-x64/bin D:/mingw540-x64/bin 添加到 PATH 变量
  • 添加下列环境变量

    CC=clang
    CXX=clang++
    CFLAGS=-target x86_64-pc-windows-gnu
    CXXFLAGS=-target x86_64-pc-windows-gnu
    
  • clang3.7 版本之前,不需要设置 CFLAGS CXXFLAGS 编译目标,因为 windows 下仅支持 MinGW 编译工具;clang3.8 版本之后,需要设置编译目标,因为可以支持 MSVC 编译工具,默认编译目标是 i686-pc-windows-msvc 。修改编译目标为 x86_64-pc-windows-gnu .
  • clang 的 -target 编译目标需要在命令行中指定,gcc 可以直接从环境变量中读取。
  • 如果需要 64 位编译环境,则 llvm 和 mingw 都要安装 64 位版本的。
  • 如果是 64 位系统,可以直接安装 llvm 64 位,兼容编译 32 位和 64 位程序