很旧没写小工具了,又出一个离奇问题,奇怪的编译错误

winnuke 2010-08-03 03:26:16
用sdk写个小工具,做了个对话框,用DialogBox弹出。

int WINAPI _tWinMain( __in HINSTANCE hInstance, __in_opt HINSTANCE hPrevInstance, __in_opt LPSTR lpCmdLine, __in int nShowCmd)
{
InitCommonControls();
return ::DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG), NULL, (DLGPROC)MyDialogProc);
}


之前可以正常编译过去,后来添加了一些功能后,再编译就出错:
: error C2059: syntax error : ')'
就是MAKEINTRESOURCE(IDD_DIALOG)这里,把他换成0就可以编过。

请各位指教。
...全文
102 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
loveisbug 2010-08-30
  • 打赏
  • 举报
回复
版主辛苦。
向立天 2010-08-30
  • 打赏
  • 举报
回复
您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面界面版关于版主结帖工作的具体办法
xiaoyilong19 2010-08-03
  • 打赏
  • 举报
回复
恩,解决了就好,
winnuke 2010-08-03
  • 打赏
  • 举报
回复
我错了,因为使用了gdi+,我习惯性地敲入以下代码:

#include "Gdiplus.h"
#ifndef ULONG_PTR
#define ULONG_PTR (unsigned long*)
#endif

这是在vc6下的做法,而现在是在vc9下,有一些不同:

#define MAKEINTRESOURCEA(i) ((LPSTR)((ULONG_PTR)((WORD)(i))))
#define MAKEINTRESOURCEW(i) ((LPWSTR)((ULONG_PTR)((WORD)(i))))

我重新定义了MAKEINTRESOURCE,导致编译出错。
winnuke 2010-08-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xiaoyilong19 的回复:]

IDD_DIALOG 明显是个资源定义符号,你看下引入了相关的资源头文件了么,这种错误一般都是缺少相关声明造成的;少了个)之类的,
[/Quote]

当然有包含resource.h了。
xiaoyilong19 2010-08-03
  • 打赏
  • 举报
回复
IDD_DIALOG 明显是个资源定义符号,你看下引入了相关的资源头文件了么,这种错误一般都是缺少相关声明造成的;少了个)之类的,

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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