我需要在非MFC应用程序中调用MFC DLL方法(使用标准Windows库)。我正在接受
"包括&#st;; stdafx.h'在将此文件包含在PCH"之前
错误。我已将stdafx.h包含在所有标头和cpp文件中。没运气。在非MFC应用程序中调用MFC DLL的过程是什么?
答案 0 :(得分:0)
这个错误无关,有DLL问题。或者使用与另一个项目共享DLL中的代码的方式。
您设置了一个使用预编译标头的项目。为每个项目单独设置预编译头文件。你永远不应该在项目之间共享这样的文件。
在没有外部DLL引用的情况下设置它编译的项目。 如果它编译添加外部DLL接口的头文件(仅此而已),请将LIB文件添加到链接器选项(或使用#pragma comment(lib,..))。
再一次:你的主要问题是你没有理解预编译的标题,快速尝试你可以完全转变它。但是我认为你分享项目文件的方式有点混乱"。
答案 1 :(得分:0)
方法1:
您可以检查非mfc应用程序中的项目属性,以不使用预编译头。
即项目属性->配置属性-> C / C ++->预编译头,并将预编译头属性设置为“不使用预编译头”(如果您在Visual Studio中)。相当于在编译时删除'/ Yu'标志。
方法2: 确保在非mfc应用程序中也使用预编译标头。
即创建一个预编译的头文件(可以是任何名称,在此处为stdafx.h),并根据需要配置上述属性。 .h的属性应为/ Yc。