记一次 pugixml 编译错误的解决

缘起

前一阵子,平台在换基线,底层接口变了很多,因此引出了至少 20000 个编译错误。在加班改完这些编译错误后,没想到又遇到了一个诡异的编译错误。而且之前还解决过类似的编译错误,但是这次却没能第一时间找出罪魁祸首。一起看看这是一个什么编译错误吧。

pugixml-compile-error

诡异吧?标准模板库里(参考 vector 的实现)大量使用了这种技法( c++ 中典型的 placement new)。为什么这里就不行了呢?

杀手锏

解决这种诡异的编译错误,杀手锏是查看预编译生成的文件。好在 vs 已经提供了相应的支持。

vs-preprocess-option

/P 表示将预