需要包含两次预编译头

时间:2017-02-16 12:00:34

标签: c++ visual-c++ visual-studio-2015 managed-c++

我的应用正常运行,但我正试图清理一些东西。当我在源文件中包含预编译头时,我会发生以下情况。

WTF

基本上第一行有下划线,好像它有问题,所以我必须在下面再次包含它,使用正确的路径...但我需要两者或它不会编译。

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

只有名称匹配时,Visual Studio才会使用预编译的标头(名称不区分大小写)。假设在项目中设置了预编译的头文件名StdAfx.h,因此只有当代码包含#include "stdafx.h"时才会使用预编译的头文件。

即使它是真实位置,#include "..\stdafx.h"也不会被识别为预编译的标头。

您需要在项目设置中添加stdafx.h位置的包含路径,然后标题#include "stdafx.h"才能正常工作。

预编译头的另一个常见问题是include指令位于头中。它应始终位于源文件(.ccp)中。