重新编译头文件



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

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

我明白我需要包括'stdafx.h''Functions.h'为它的工作。我照做了。它可以编译,但是当我尝试运行程序时,它不会识别由'Functions.cpp'创建的ProC语法。我真的不明白如何重建预编译头,因为我不理解'stdafx.h'中的代码。

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

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

触发预编译头文件重建,

  1. 修改stdafx.h并进行增量构建
  2. 或做一个重建项目

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

在VS 2012中,您可以设置项目,解决方案或源文件的属性,以不使用预编译头文件。看附图如何做到这一点…VS关闭预编译头文件

在VS2017中,此错误持续存在,直到我切换项目属性>配置属性>C/c++比;预编译头文件>预编译头文件设置来自"Use (/Yu)"to "Create (/Yc)"

对于项目设置,使用:
  • "Create"用于项目
  • 生成的预编译头文件
  • "Use"用于另一个项目
  • 生成的预编译头文件

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

  • "Create"对于stdafx.cpp文件,只能使用
  • "Use"所有其他.c.cpp文件

最新更新