我使用Clang 6.0.0(来自Windows安装程序的最新版本)和Visual Studio 2017来构建我的项目,一切正常,除了一件事,它每次都重建每个文件。不仅如此,它甚至可以在没有代码更改的情况下重新编译所有内容,而我只使用“开始调试”或“无需调试启动”! .obj文件仍然存在,但它似乎没有重用它们,这当然是非常慢!
只有在我的项目中设置了“LLVM-vs2014”的Clang 6时才会发生这种情况,当我切换“Visual Studio 2017(v141)”或“Visual Studio 2017 - Clang with Microsoft CodeGen(v141_clang_c2)”时我没有这个问题,它只编译改变了什么。
什么可能导致这种行为?
编辑:也许这就是网站的含义“64位版本也可用,但它不能与Visual Studio集成。”
你可以使用fafnir
。
https://github.com/kazatsuyu/fafnir
Visual Studio使用.tlog
文件管理构建依赖项,但它似乎为最近的clang
生成了错误的依赖项。为了解决这个问题,fafnir
通过DLL注入使用API连接到SetFileInformationByHandle
。
用法
install.bat
new_toolset_name
(以v[0-9]+_clang_.*
的形式)参考