問題描述:我用3ds max sdk新建了一個應用程序Maxprocject1;它的類型為Procedural Object。
接下來我想利用MFC里面的對話框,多以就添加了一個Dialog。但是在需要掉這個Dialog的源文件Maxproject1.cpp(工程生成時默認生成的源文件)中添加這個Dialog.h的時候就提示:WINDOWS.H already included. MFC apps must not #include <windows.h>
解決辦法:
1、將Dialog.cpp中的 #include "stdafx.h"移到dialog.h中去;
#pragma once #include "stdafx.h" #include "resource.h"
2、dialog.h中可能需要添加 #include “resource.h”
3、在Maxproject1.h(我建了一個工程名為Maxproject1,所以程序向導就生成了這個頭文件)中添加頭文件 #include “stdafx.h”
未修改:
#include "3dsmaxsdk_preinclude.h" #include "Max.h" #include "resource.h" #include "istdplug.h" #include "iparamb2.h" #include "iparamm2.h" #include "Simpobj.h"
修改后:
#include "stdafx.h"//自己添加的,解決頭文件沖突問題 #include "3dsmaxsdk_preinclude.h" #include "Max.h" #include "resource.h" #include "istdplug.h" #include "iparamb2.h" #include "iparamm2.h" #include "Simpobj.h"
經過如此修改后就可以編譯了;
小提示:在添加第二個對話框時就不必如此麻煩的操作了,只需要將Dialog2.h放在之前的 Dialog.h后面即可:
#include "MeasurementDlg.h" #include "TestDlg.h"//將它放在 MeasurementDlg.h的后面;不然編譯又會出錯 #include "MaxGrammetry.h"