WTL 编译错误

xuxian02092213 2010-09-27 09:43:06
网上下载了一个WTL程序,编译无法通过,错误如下:

C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE\afxwin.h(4628) : warning C4005: '_RICHEDIT_VER' : macro redefinition
F:\Study work\codeproject\kPad_src\stdafx.h(17) : see previous definition of '_RICHEDIT_VER'
C:\WTL80\INCLUDE\atlgdi.h(3403) : error C2664: 'CreateCompatibleDC' : cannot convert parameter 1 from 'struct HDC__ *' to 'class CDC *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
C:\WTL80\INCLUDE\atlgdi.h(3407) : error C2065: 'SelectBitmap' : undeclared identifier
C:\WTL80\INCLUDE\atlgdi.h(3407) : error C2440: '=' : cannot convert from 'int' to 'struct HBITMAP__ *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
Error executing cl.exe.

VC 6的。
代码下载地址:
http://www.codeproject.com/KB/wtl/kpad.aspx

不知道是否有人出现过此类问题,还请帮忙解决下。
...全文
131 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qianfoyuan 2011-07-25
  • 打赏
  • 举报
回复
你选择 setting,再选择 link ,把 wtl 头文件链接到工程中去.
至善者善之敌 2011-07-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 forestdb 的回复:]
Implementation

With the help of the ATL\WTL AppWizard I created a "Multiple Threads SDI" project with a generic view window. The class SheetsCtrl is a view window for the Main Frame and a container……
[/Quote]

++1
Passage2011 2011-07-25
  • 打赏
  • 举报
回复
他NND。我也出现了,和楼主的一模一样。解决了没有!
ForestDB 2010-09-28
  • 打赏
  • 举报
回复
Implementation

With the help of the ATL\WTL AppWizard I created a "Multiple Threads SDI" project with a generic view window. The class SheetsCtrl is a view window for the Main Frame and a container for kSheetView child windows. kSheetView is a superclass of the RichEdit control.

The small size of 105 Kb is achieved by removing the dependancy on the CRT library (_ATL_MIN_CRT) and use the project options /OPT:REF, /OPT:ICF, /OPT:NOWIN98.

Environment

This application was created with VC 6.0. SP3, WTL and the January MS SDK. It has been tested only on W2k.

人家说的你都检查了没有?
xuxian02092213 2010-09-28
  • 打赏
  • 举报
回复
下不到ms SDKl 啊,所以我将程序的stdafx.h中#define _WIN32_IE 0x0501注释了
现在下载到的SDK都是不支持VC6的
WTL_Freecell-Release04-v1.3-20190126 (WTL空当接龙v1.3) 本程序主要特点介绍: 1、本程序全部使用WTL编程,VS2017编译,程序短小精悍,不依赖VC运行库; 2、本程序支持XP/7/8/8.1/10及相应Server版Windows系统; 3、本程序可以实现窗口任意缩放移动,真正的任意窗口大小,真正实现全屏、满屏、最大化、大窗口、大图标、适应大字体; 4、自动适应分辨率较小的情况,当屏幕分辨率较小时(宽小于1213或高小于850),程序会自动最大化显示、以自动适应屏幕大小; 5、为方便使用,增加了窗口还原功能; 6、将常用功能增加为顶级菜单; 7、允许无限次撤销; 8、能够自编牌局,牌局数几乎没有限制。 9、牌局能够以文本文件存档、读档; 10、绝大部分牌局能够实现电脑自动解答和演示,可以回放解答过程; 11、新版本v1.1修正了窗口信息问题; 12、新版本v1.2修正了保存牌局错误问题; 13、新版本v1.3解决在Win10高DPI时的窗口大小显示、字体模糊问题。 WTL是Windows Template Library,可参见 http://wtl.sourceforge.net/。本程序借鉴了网友的一些实现模块,对向海飞等网友表示感谢。 -------------------------------------------- By :MinJun QQ :153248043 E-mail :ybmj@vip.163.com Blog :http://blog.csdn.net/shuren8/ --------------------------------------------
/** ***************文件说明*************** 文件名: LedDisp.h 版本号: v1.0.6 (20100101.00001) 功能: 显示七段数码管风格的数字、小数点、冒号及部分字母。 (此版本理论上可用于MFC,Win32 SDK或其它Windows的环境,在Windows XP sp2下用vc6.0及vs2008编译、运行通过.) 第一作者: Jef 日期: 20100101 电子邮件: dungeonsnd@126.com 地址: 中国/江苏 版权: 1.您可以修改及免费使用本程序,但把本程序或修改后程序用于商业用途前请先通知第一作者并得到作者的许可。 2.修改之后保留此文件开头处的文件说明信息并更改副版本号(如 20090825.00001 改成 20091002.00001 ), 并拷贝一份附上您的个人信息发送到上面的作者邮箱,作者负责在全面测试后发布您修改后的新版本。 3.您使用本程序而导致任何伤害以及经济损失,由过错方依法承担所有责任,一概与第一作者及合作单位无关。 4.如果您使用本程序则表示您已经同意此版本协议!否则请勿使用! 其它: v1.0.1 (v20090825.00001) v1.0.2 (v20091026.00001) 1.增加Hide()方法 2.增加IsHide()方法 3.增加Disp(CDC* pdc,CRect DispRect,int iDigitsAmount,CString cs);方法 4.等 v1.0.3 (v20091031.00001) 1.增加多个小数点和冒号显示支持 2.增加GetLedFont()方法 3.修改了显示熄灭数码管的内部实现 4.等 v1.0.4 (v20091105.00001) 1.修改了SetSegmentPosition(int index)函数,增加内部属性 修正因子m_bMakeAmend, 设置修改因子为真时,在特殊情况下(如用户设置段宽度为2个像素或者1个像素), 程序将保证所有段的宽度相等,并且保证段与段不会相连. 2.修改了保存显示区域背景机制! 前一版本在调用数码管显示函数(Disp()等函数)时会自动 保存一幅对应于显示区域RECT的位图,此种机制当用户在OnPaint()函数里调用显示 函数而不调用Hide()时,并且此时的RECT在每次调用显示函数时都改变,则会导致保存 背景位图的向量m_vecBkSave不断扩大,而实际上保存的位图将没有作用且浪费大量内存! 如: void CLEDView::OnPaint() { CPaintDC dc(this); OnShow(); //不断的以不同的RECT区域调用Disp()将导致保存的 //位图(对应于每个区域)数量剧增! } void CLEDView::OnShow() { CClientDC dc(this); CRect rtClient; GetClientRect(&rtClient); double m_x =rtClient.Width()/800.0; double m_y =rtClient.Height()/600.0; CRect rt0; rt0.SetRect(20*m_x,10*m_y,220*m_x,410*m_y); led.Disp((CDC*)&dc,rt0,1,_T("1:")); } 解决方案: 保存位图将不再以RECT来标识,而是以一个用户输入的字符串来标识. 3. 添加MFC之外框架的支持.(未完成,未测试,希望测试的用户给作者联系测试结果.如WIN32 SDK,WTL等环境下.) v1.0.5 (v20091122.00001) 1. 增加UNICODE支持 2.完成MFC外的某些框架的支持 3.修改了和完善了某些代码段。如 删除保存背景的向量某一元素之前先把其中的位图删除; 内存dc用完之后添加删除操作 DeleteDC ; 构析函数中增加了删除全部位图资源操作 4. 修改了数个变量名使其更统一,如 SHOWPOS改成了iShowPos; 删除了某些接口,如 DispInt(); v1.0.6 (20100101.00001) 1. 增加运行时错误检测支持 (作者在项目中发现需要此功能的). #define SHOW_RUNING_ERROR_INFO //显示运行时错误信息. 不想在运行出现错误时显示此类提示信息 只需注释此行. 弹出错误的条件请见实现代码. 2.把某些接口改为virtual, 方便用户重写. 因为此类可能会继续升级,所以为了您的项目升级方便 请尽量不要直接修改此类, 你可以继承此类,重写其中的接口. 另外,考虑到兼容性,今后的版本 会尽量保持接口不变性来减少此类升级带给使用者的升级麻烦. 如果看哪个方法不爽您就在子类里重写吧. */ /** ***************About This File and Copyright*************** File Name: ledDisp.h Version: v1.0.6 (20100101.00001) First Author: Jef Date: 20100101 Function: Show the number in the style of the seven sections of numerical code tubes. Email: dungeonsnd@126.com Address: Jiangsu/China Copyright: 1.You can edit and use this program, but contact the first author AND get the licence before use in business. 2.Modify the subsidiary version after modify the code, and send a copy to the author's mailbox ,don't forget added your owner information! Other: */

64,663

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧