windows10下编译clang流水帐

本文记录了在Windows10环境下,使用CMake编译Clang时遇到的C++11支持问题,以及MinGW-w64的配置挑战。尝试了设置CXXFLAGS、使用CMake GUI、指定不同编译器,最终因官方MinGW-w64不支持C++11的std::thread而转向tdm-gcc,但发现新的编译问题导致放弃。解决方案是利用Visual Studio的环境变量让Clang找到头文件和库路径。
摘要由CSDN通过智能技术生成

之前编译过一次clang,并且修改代码定制了编译选项,有计划继续读一下clang的代码,但是最终没有继续下去。前不久又偶尔围观了一下clang的代码,所以又准备编一次。


现在官网上介绍说用CMake,生成其它编译工具能理解的配置文件,然后编译(和以前不同了)。我生成了MinGW的make,然后开始编译。但是,过一会儿就报错说std::thread不存在。眼睛一亮,这说明代码使用了c++11。从错误信息可以看出来,CMake配置时通过PATH环境变量检测到了D:\DevSoft\MinGW-w64_4.9.2,由于这不是官方的,所以把该目录重命名然后重新配置(我的PATH中有两个MinGW),使得D:\DevSoft\MinGW被配置为编译环境(4.8.1)。编译后继续出错。

1. 简单查了一下CMake的语法,发现CMake有gui工具,于是使用gui工具配置一次,还是不行(表示CMake挺赞)。

2.接着在gui工具可以直接指定编译器,仍然不行。尝试一些其它配置,比如vs,显然因为我没装vs,失败,其它的编译环境,比如ninja(PATH中有ninja),也失败。

3.怀疑编译时没有启用--std=c++11,尝试了环境变量中设置CXXFLAG,以及CMake的gui工具中指定c++1y,还有在llvm中的CMakeLists.txt中添加lset(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++11")后编译都没有解决问题。后来发现

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值