由于读论文,复现CVE-2018-0840的需要。从Github官网上下载ChakraCore旧版代码[1]。代码很老了,在新版Visual Studio 2022中编译出现大量问题,特此记录如下解决方案。
- 首先根据Visual Studio提示将所用的解决方案及项目全部升级。
- 编译器报错说
typeinfo.h
找不到时,把对应地方的typeinfo.h
全部改成typeinfo
。 - 参照[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