
原工程为C/C++混合编译,可以正常编译,在其中一个头文件中包含pugixml.h(头文件pugixml.hpp修改为pugixml.h)后,编译时报截图所示的错误。
初步分析结果:
1、原工程中存在将关键字true和false关键字作为宏定义的场景。
2、此问题可参考https://developercommunity.visualstudio.com/content/problem/689330/xkeycheckh-doesnt-properly-guard-for-cplusplus-bei.html
问题:
此问题在VS2017上如何规避?
备注:预处理器中添加_X_KEYCHECK_H和_ALLOW_KEYWORD_MACROS均已尝试过,会导致新的问题。