我正在尝试重现问题,因此我使用VS2019向导和一个单独的本机单元测试项目创建了一个空的MFC C ++应用程序。
在添加单元测试项目之前,MFC应用程序已成功编译并启动。
MFC应用程序仍然可以成功编译,但是单元测试项目将无法编译。我遇到两个错误:
E0035 #error directive: "include 'pch.h' before including this file for PCH"
C1189 #error: "include 'pch.h' before including this file for PCH"
但是,单元测试项目(UnitTest1.cpp)中唯一的文件已经在文件顶部包含pch.h:
#include "pch.h"
#include "CppUnitTest.h"
#include "../MFCApplication1/MFCApplication1.h"
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
namespace UnitTest1
{
TEST_CLASS(UnitTest1)
{
public:
TEST_METHOD(TestMethod1)
{
CMFCApplication1App app;
bool result = app.InitInstance();
Assert::IsTrue(result);
}
};
}
这似乎是在告诉我要做已经完成的事情。
这是怎么回事?
答案 0 :(得分:0)
尝试包括stdafx.h
并删除pch.h
,即可解决问题