9

我正在尝试将 MFC 与 ProC 一起使用。
Functions.pc 是我使用 ProC 语法连接到数据库的地方。所以我'Functions.h'在对话框模型中包含了我想要调用函数的地方'Funtions.h'。现在我得到了这个错误。

    Add directive to 'stdafx.h' or rebuild precompiled header

我知道我需要包含'stdafx.h'to'Functions.h'才能使其正常工作。我做到了。它可以编译,但是当我尝试运行程序时,它不会识别由'Functions.cpp'创建的 ProC 的语法。我真的不明白如何重建预编译的头文件,因为我不理解'stdafx.h'.

4

4 回答 4

14

在 Windows 上使用预编译头文件的常用方法是

  1. 在stdadx.h中包含系统、第三方头文件或不经常更改的头文件
  2. stdafx.cpp通常只包含stdafx.h
  3. 您的所有项目 cpp 文件都包含stdafx.h作为第一个标头
  4. 您的项目头文件不应包含 stdafx.h

要触发预编译的头文件重建,

  1. 修改stdafx.h并进行增量构建
  2. 或者做一个重建项目
于 2011-11-06T19:40:06.567 回答
6

自己找到了解决方案。我需要将该 .cpp 文件的属性设置为不使用任何预编译头文件。

于 2011-12-19T15:43:52.730 回答
3

在 VS 2012 中,您可以将项目、解决方案或源文件的属性设置为不使用预编译头文件。有关如何执行此操作,请参见附图... VS 关闭预编译头文件

于 2016-08-11T14:35:33.190 回答
0

在 VS2017 中,此错误一直存在,直到我将 Project Properties > Configuration Properties > C/C++ > Precompiled Headers > Precompiled Header 设置从“使用 (/Yu)”切换到“创建 (/Yc)”。

对于项目设置,请使用:

  • 为项目生成的预编译头文件“创建”
  • “使用”用于另一个项目生成的预编译头文件

对于每个文件的设置,请使用:

  • 仅为stdafx.cpp 文件“创建”
  • “使用”所有其他.c.cpp文件
于 2021-02-15T18:25:55.160 回答