【问题标题】:E1696 cannot open source file "stdafx.h" during compilationE1696 在编译期间无法打开源文件“stdafx.h”
【发布时间】:2021-03-10 02:39:44
【问题描述】:

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

我尝试过的:

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

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

我错过了什么吗?

【问题讨论】:

    标签: c++ header visual-studio-2019 precompiled-headers stdafx.h


    【解决方案1】:

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

    所以,您可以在Properties->C/C++->Precompiled Header->Precompiled Header file 中设置stdafx.h

    【讨论】:

      猜你喜欢
      • 2014-12-07
      • 2016-01-05
      • 2017-01-23
      • 1970-01-01
      • 2017-12-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多