使用CMake生成VS工程文件时,通过VS添加预处理文件后,编译工程报error 2857的错误,如下:
Z:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\vector(214): error C2857: 在源文件中没有找到用 /YcE:/X/Y/abc.h命令行选项指定的"#include"语句
从错误中看出,命令行使用了绝对路径来指定预处理头文件的位置,VS也傻乎乎的只认#include "E:/X/Y/abc.h"这种语句。
当然,代码中我们怎么会这么写呢
于是,只要我们在工程属性中把预编译头文件的路径改为用相对路径指定就行了