1

我有两个项目 A 和 B。在项目 A 中,我创建了一个名为 Logger.cpp 的源文件,其中包含部分中有 #include "stdafx.h"。stdafx.h 存在于项目 A 中。在项目 A 的属性中,我在“附加包含目录”属性中有项目 B 的头文件位置。当我尝试在Visual Studio 2013中编译解决方案时,它会成功编译,但是当我尝试将解决方案迁移到Visual Studio 2019并编译整个解决方案或仅项目 A 时,我收到错误E1696 cannot open source文件“stdafx.h”

我试过的:

  1. 我已将 stdafx.h 文件从项目 A 复制到项目 B,这会导致冲突,并且不允许我打开 stdafx.h 文件中包含的任何头文件。
  2. 我已经完全删除了项目 A,然后创建了一个新的 C++ 项目,因为在创建新项目时会创建 stdafx.h 文件。

上述两种方法都不能解决问题。

我在这里错过了什么吗?

4

1 回答 1

0

根据Microsoft Docs,当您在 Visual Studio 中创建一个新项目时,一个名为 pch.h 的预编译头文件将添加到该项目中。(在 Visual Studio 2017 及更早版本中,该文件称为 stdafx.h。)

所以,你可以设置stdafx.hProperties->C/C++->Precompiled Header->Precompiled Header file.

在此处输入图像描述

于 2020-12-02T05:11:13.237 回答