日度归档:15 11 月, 2021

用Visual Studio 2022编译ChakraCore遇到的Bug解决方法

由于读论文,复现CVE-2018-0840的需要。从Github官网上下载ChakraCore旧版代码[1]。代码很老了,在新版Visual Studio 2022中编译出现大量问题,特此记录如下解决方案。

  1. 首先根据Visual Studio提示将所用的解决方案及项目全部升级。
  2. 编译器报错说typeinfo.h找不到时,把对应地方的typeinfo.h全部改成typeinfo
  3. 参照[2]的说明向Build/Common.Build.Default.props中加入对应的编译器版本。

如果不加入,他会一直提示MSBuild 错误 MSB8020,但告诉你的是v143 生成工具未安装。这件事让人很迷惑,我早已经安装完了。按照3的步骤做完就不会提示了。

引用:

[1] https://github.com/chakra-core/ChakraCore/tree/e8738ca441f77b5271fedf8574858eeb8b8b7114
[2] https://github.com/chakra-core/ChakraCore/pull/6759