vs2010使用wtl失败 错误 1 error C1189: #error : atlddx.h requires atlapp.h to be included first 这个怎么解决? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的头文件引用顺序是怎样的?从错误提示来看,应该是atlapp.h没有include。 stdafx.h// Change these values to use different versions#define WINVER 0x0500//#define WINVER 0x0400//#define _WIN32_WINNT 0x0400#define _WIN32_IE 0x0500#define _RICHEDIT_VER 0x0100#include <atlbase.h>#include <atlcoll.h>#include <atlstr.h>#include <atlwin.h>#include <atlddx.h>#include <atltypes.h>#include <atlapp.h>extern CAppModule _Module;#include <atlsplit.h>#include <atlgdi.h>#include <atlctrls.h>#include <atlctrlx.h>#include <atlctrlw.h>就是dockpanel demo http://www.codeproject.com/Articles/5788/Tab-Controls-And-Splitters-Adding-Some-Dockable-An编译不过 把这个#include <atlapp.h>放到#include <atlbase.h>后面error C1189: #error : atlddx.h requires atlapp.h to be included first atlddx.h之前需要先引用atlapp.h atlddx.h requires atlapp.h to be included first 别跟我说这句话你不明白。你可以去google翻译啊。 大哥,你贴出来的头文件引用顺序#include <atlapp.h>在#include <atlddx.h>后面你说这个error信息里的included first应该咋理解?你再看几个WTL里带的例子,#include <atlapp.h>跟在谁后面... #ifndef __ATLDDX_H__#define __ATLDDX_H__#pragma once#ifndef __ATLAPP_H__ #error atlddx.h requires atlapp.h to be included first#endif#include <atlbase.h>#include <atlapp.h>#include <atlddx.h> 哎...看了下代码,估计那时候作者写这份代码时,WTL不是现在这样,所以stdafx.h里的引用顺序用最新的WTL 8.1可能就有问题了。你就调整下stdafx.h里的引用顺序就行了,不用去改WTL 8.1的头文件#include <atlbase.h>#include <atlapp.h> //位置换到这里来#include <atlcoll.h>#include <atlstr.h> #include <atlwin.h>#include <atlddx.h>#include <atltypes.h> //#include <atlapp.h> //位置换上去 资源我已经上传到csdn了,http://download.csdn.net/detail/nevermorewish/4748803 注意看WTL的ReadMe文档,其中有个头文件封装了基础类型,包括CStringatlmisc.h WTL ports of CPoint, CRect, CSize, CString, etc.你把atlmisc.h也加上吧,就放在#include <atlapp.h>后面好了。 把#include <atltypes.h>注释掉试试,因为这里面的CPoint, CRect, CSize与atlmisc.h里的定义冲突了。 还是不行,在DockTabSplitPane.h文件中有这么一条宏#ifndef __ATLTYPES_H__ #error DockTabSplitPane.h requires atltypes.h to be included first#endif去掉这条宏的话,会有更多的错误 那就留着#include <atltypes.h>,在include atlmisc.h前面加个宏...#define _WTL_NO_WTYPES#include <atlmisc.h>... CArray中使用CDWordArray碰到的问题 请教下各位大大 请问一个问题:关于通用对话框的问题?谢谢 用MFC生成的窗口怎么去掉标题栏和菜单栏??? 放暑假了,想出去学vc,又不知能去哪,各位大侠给参谋一下 问了一边没有人回答 数据库问题,高手请进 有谁对线程(进程)间同步比较了解,请帮我看看吧!!! *.cue及*.bin的下载文件怎么打开? ?????? 求助SendMessage()方法里的lParam和lpData参数如何设置 找到了SDK,却不会用,笨死了,求指教。 如何迫使alt activex的ondraw被调用?
#define WINVER 0x0500
//#define WINVER 0x0400
//#define _WIN32_WINNT 0x0400
#define _WIN32_IE 0x0500
#define _RICHEDIT_VER 0x0100#include <atlbase.h>
#include <atlcoll.h>
#include <atlstr.h>#include <atlwin.h>
#include <atlddx.h>
#include <atltypes.h>#include <atlapp.h>extern CAppModule _Module;#include <atlsplit.h>
#include <atlgdi.h>
#include <atlctrls.h>
#include <atlctrlx.h>
#include <atlctrlw.h>就是dockpanel demo http://www.codeproject.com/Articles/5788/Tab-Controls-And-Splitters-Adding-Some-Dockable-An编译不过
error C1189: #error : atlddx.h requires atlapp.h to be included first
atlddx.h之前需要先引用atlapp.h
别跟我说这句话你不明白。你可以去google翻译啊。
大哥,你贴出来的头文件引用顺序
#include <atlapp.h>在#include <atlddx.h>后面
你说这个error信息里的included first应该咋理解?
你再看几个WTL里带的例子,#include <atlapp.h>跟在谁后面...
#define __ATLDDX_H__#pragma once#ifndef __ATLAPP_H__
#error atlddx.h requires atlapp.h to be included first
#endif#include <atlbase.h>
#include <atlapp.h>
#include <atlddx.h>
你就调整下stdafx.h里的引用顺序就行了,不用去改WTL 8.1的头文件
#include <atlbase.h>
#include <atlapp.h> //位置换到这里来
#include <atlcoll.h>
#include <atlstr.h>
#include <atlwin.h>
#include <atlddx.h>
#include <atltypes.h>
//#include <atlapp.h> //位置换上去
atlmisc.h WTL ports of CPoint, CRect, CSize, CString, etc.
你把atlmisc.h也加上吧,就放在#include <atlapp.h>后面好了。
还是不行,在DockTabSplitPane.h文件中有这么一条宏
#ifndef __ATLTYPES_H__
#error DockTabSplitPane.h requires atltypes.h to be included first
#endif
去掉这条宏的话,会有更多的错误
#define _WTL_NO_WTYPES
#include <atlmisc.h>
...