我正在尝试使用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上使用预编译头文件的常见方法是
- 在stdadx.h 中包含系统头、第三方头或不经常更改的头
- stdafx.cpp通常只包含stdafx.h
- 所有的项目cpp文件包括stdafx.h作为第一个头文件 你的项目头文件不应该包含stdafx.h
触发预编译头文件重建,
- 修改stdafx.h并进行增量构建
- 或做一个重建项目
我自己找到了解决办法。我需要设置。cpp文件的属性为不使用任何预编译的头文件
在VS 2012中,您可以设置项目,解决方案或源文件的属性,以不使用预编译头文件。看附图如何做到这一点…VS关闭预编译头文件
在VS2017中,此错误持续存在,直到我切换项目属性>配置属性>C/c++比;预编译头文件>预编译头文件设置来自"Use (/Yu)"to "Create (/Yc)"
对于项目设置,使用:- "Create"用于项目 生成的预编译头文件
- "Use"用于另一个项目 生成的预编译头文件
对于每个文件设置,使用:
- "Create"对于stdafx.cpp文件,只能使用
- "Use"所有其他
.c
和.cpp
文件