我需要在非MFC应用程序中调用MFC DLL方法(使用标准Windows库)。我得到了一个
“在包含PCH文件之前包括'stdafx.h‘”
错误。我在我的所有头文件和cpp文件中都包含了stdafx.h。不走运。将MFC DLLin称为非MFC应用程序的过程是什么?
发布于 2016-03-08 07:35:38
此错误与DLL问题无关。或者使用与另一个项目共享DLL中代码的方式。
设置使用预编译头的项目。为每个项目分别设置预编译头。您不应该在项目之间共享这样的文件。
设置它在没有外部DLL引用的情况下编译的项目。如果它编译了添加外部DLL接口的头文件(仅此而已),那么将LIB文件添加到链接器选项中(或者使用#务实注释(lib,..))。
再说一遍:你的主要问题是你不理解预编译的头,为了快速尝试,你完全可以把它打开。但我认为,您共享项目文件的方式“有点混乱”。
发布于 2018-12-28 12:09:42
方法1:
可以检查非mfc应用程序中的项目属性,以避免使用预编译的标头。
例如,Properties>Configuration>C/C++->预编译头,如果您在visual studio中,则将预编译标头属性设置为“不使用预编译头”。这相当于在编译时移除'/Yu‘标志。
方法2:确保在非mfc应用程序中使用预编译头。
也就是说,创建一个预编译的头(可以是任意名称,这里是stdafx.h),并根据需要配置上述属性。.h的属性应该是/Yc。
https://stackoverflow.com/questions/35860274
复制相似问题