我想在一个WIN32程序里使用CFileDialog应该怎么办呢??
我这样写
#include <windows.h>
#include <windowsx.h>
#include <afxdlgs.h>但是会有一个fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h>错误,变成
#include <afxwin.h>
#include <afxdlgs.h>
又会有
nafxcwd.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in DllEntry.obj
nafxcwd.lib(dllmodul.obj) : warning LNK4006: _DllMain@12 already defined in DllEntry.obj; second definition ignored
的错误
我改怎么办啊,高手救啊 ~~~~~~~~~~~~~~~~~~~~~
我这样写
#include <windows.h>
#include <windowsx.h>
#include <afxdlgs.h>但是会有一个fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h>错误,变成
#include <afxwin.h>
#include <afxdlgs.h>
又会有
nafxcwd.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in DllEntry.obj
nafxcwd.lib(dllmodul.obj) : warning LNK4006: _DllMain@12 already defined in DllEntry.obj; second definition ignored
的错误
我改怎么办啊,高手救啊 ~~~~~~~~~~~~~~~~~~~~~
#ifndef STRICT
#define STRICT
#endif
的用处呢?
用#include <afxwin.h>代替试一下
#include <afxdlgs.h>
这样定义的:
#ifndef STRICT
#define STRICT
#endif// System includes
#include <strbasic.h>
#include <windows.h>
#include <windowsx.h>
#include <ctl3d.h>
#include <commctrl.h>#include "udmIA64.h"
// WIN64 Cleanup: Shuler
// only contains datatypes to complete the Unified Data Model
// Remove this once MSVC70 is out.// Some standard library includes
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <time.h>// Defines which version of MAX to build
#include "buildver.h"// Defines basic MAX types
#include "maxtypes.h"
#include "trig.h"// Support libraries
#include "utillib.h"
#include "geomlib.h"
#include "gfxlib.h"
#include "meshlib.h"
#include "patchlib.h"
#include "mnmath.h"// Core include files
#include "coreexp.h"
#include "winutil.h"
#include "custcont.h"
#include "mouseman.h"
#include "plugin.h"
#include "units.h"
#include "stack.h"
#include "interval.h"
#include "hold.h"
#include "channels.h"
#include "SvCore.h"
#include "animtbl.h"
#include "ref.h"
#include "inode.h"
#include "control.h"
#include "object.h"
#include "objmode.h"
#include "soundobj.h"
#include "iparamb.h"
#include "triobj.h"
#include "patchobj.h"
#include "polyobj.h"
#include "cmdmode.h"
#include "appio.h"
#include "lockid.h"
#include "excllist.h"// interfaces into MAX executable
#include "maxapi.h"
#include "ioapi.h"
#include "impapi.h"
#include "impexp.h"
#include "iColorMan.h"
里面已经定义了windows.h
我改成#include <afxwin.h>就会有
nafxcwd.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in DllEntry.obj
nafxcwd.lib(dllmodul.obj) : warning LNK4006: _DllMain@12 already defined in DllEntry.obj; second definition ignored
可以在控制台应用程序中include 来引入MFC库,但是控制台应用程序缺省是单线程的,MFC是多线程的,为解决该矛盾,在Project Setting->C/C++ 选项,选择Code Generation,在Use Run-Time Library 下拉框中选择Debug Multithread。<br>