♣
估计是环境配置问题
#include <windows.h>
lresult callback wndproc(hwnd,uint,wparam,lparam);
int winapi winmain(hinstance hinstance, hinstance hprevinstance, pstr szcmdline, int icmdshow)
{
static tchar szappname[] = text("hellowin");
hwnd hwnd;
msg msg;
wndclass wndclass;
wndclass.style = cs_hredraw|cs_vredraw;
wndclass.lpfnwndproc = wndproc;
wndclass.cbclsextra = 0;
wndclass.cbwndextra = 0;
wndclass.hinstance = hinstance;
wndclass.hicon = loadicon(null, idi_application);
wndclass.hcursor = loadcursor(null, idc_arrow);
wndclass.hbrbackground = (hbrush)getstockobject(white_brush);
wndclass.lpszmenuname = null;
wndclass.lpszclassname = szappname;
if(!registerclass(&wndclass))
{
messagebox(null, text("this program repuire windows nt!"),szappname, mb_iconerror);
return 0;
}
hwnd = createwindow(szappname,
text("the hello program"),
ws_overlappedwindow,
cw_usedefault,
cw_usedefault,
cw_usedefault,
cw_usedefault,
null,
null,
hinstance,
null);
showwindow(hwnd, icmdshow);
updatewindow(hwnd);
while(getmessage(&msg, null, 0, 0))
{
translatemessage(&msg);
dispatchmessage(&msg);
}
return msg.wparam;
}
lresult callback wndproc(hwnd hwnd, uint message, wparam wparam, lparam lparam)
{
hdc hdc;
paintstruct ps;
rect rect;
switch(message)
{
case wm_create:
// playsound(text("eagle2.wav"), null, snd_filename|snd_async);
return 0;
case wm_paint:
hdc=beginpaint(hwnd, &ps);
getclientrect(hwnd, &rect);
drawtext(hdc, text("hello, windows 98!"), -1, &rect,
dt_singleline|dt_center|dt_vcenter);
endpaint(hwnd, &ps);
return 0;
case wm_destroy:
postquitmessage(0);
return 0;
}
return defwindowproc(hwnd, message, wparam, lparam);
}
· 网友精彩回答:
这是一个windows程序设计的例子,我刚学,但compile通过,build不过,系统提示
--------------------configuration: 1 - win32 debug--------------------
compiling...
1.cpp
linking...
1.obj : error lnk2001: unresolved external symbol __imp__playsounda@12
libcd.lib(crt0.obj) : error lnk2001: unresolved external symbol _main
debug/1.exe : fatal error lnk1120: 2 unresolved externals
error executing link.exe.
1.exe - 3 error(s), 0 warning(s)
第一个,我知道,是文件问题,我把它//了,但后面两个就不知道了,故向达人求解!
有人知道吗?
提醒您注意:如果您使用microsoft visual c++ 为此程序建立新项目,那么您得加上连结程序所需的链接库文件。从project菜单选择 setting选项,然后选取link页面标签。从 category清单方块中选择general,然后在 object/library modules文字方块添加winmm.lib。您这样做是因为hellowin将使用多媒体功能呼叫,而内定的项目中又不包括多媒体链接库文件。不然连结程序报告了错误信息,表明playsound函数不可用。
hellowin将存取文件eagle2.wav,执行hellowin.exe时,内定的目录必须是hellowin。在visual c++中执行此程序时,虽然执行文件会产生在hellowin的release或debug子目录中,但执行程序的目录还是必须在hellowin中。
上面是我从《windows程序设计》中文电子版里复制过来的,你的程序应该是“窗口和消息”章的hellowin程序,我运行了一下你的程序,在 object/library modules文字方块添加winmm.lib后无错误,但要记得eagle2.wav在你所建立的文件夹下才可以听到声音……
估计是你的vc有点问题吧,期待高手解答,呵呵
这个是你建的工程错了~~
你应该建的工程是win32 application
而不是win32 console application~~
试一下~~~
对了~
compiling...
1.cpp
linking...
1.obj : error lnk2001: unresolved external symbol __imp__playsounda@12
libcd.lib(crt0.obj) : error lnk2001: unresolved external symbol _main
debug/1.exe : fatal error lnk1120: 2 unresolved externals
error executing link.exe.
出现这样的错误可以这样解决~~~
///////////////////////////////
打开菜单project->setting(或alt+f7)
然后再打开link选项,在下面的project options将
/subsystem:console /incremental:yes 去掉就可以了~~~
因为编译器会默认你建的是mfc工程!~~
所以会出错~~~
我建的是win32 application
- 更多问题:
- · 如果我希望在触发器中能修改其他用户的表中的数据,需要什么样的系统权限呢?
- · 帮我看这个代码有什么问题,谢谢!
- · 多线程
- · 我想实现的是在桌面上显示一个透明位图,当有窗口遮挡桌面时,仍能看到位图,即位图是在顶层的。现在知道怎么画,但不知道在哪画
- · 中文MD5加密结果与ASP不同,着急!
- · 根据数据类型动态显示输入类型
- · vc 中Tab control怎么用?
- · 问:准确控制当前CPU 占用率的方法
- · 9.18
- · 高分求教“div层上下滚动显示table内容的问题?”
- · 大家来顶一下,发发自己知道的计算机视频下载网站
- · msql+jsp+tomcat????????????
- · 搭建hibernate运行环境
- · 并于数据操作并发存储控制问题?在线等
- · 请问怎样在web页面中向activX控件传递参数
- · 如何知道SQL语句有错时抛出的异常的类型??
- · 硬盘编程技术
- · solaris专栏 | solaris
- · 编译技术
- · 应用程序错误专题
- · 多线程编程 | 多线程
- · 控件技术指南
- · 光纤通信
- · 中国ic
- · ic报价
- · database file
- · sql creat database
- · 位图软件
- · iso镜像
- · ati是什么
- · 分布式查询
- · 无法启动分布式事务
- · 使用汇编写进注册表启动的简单例子
- · 禁用注册表有什么用处
- · 注册表在哪
- · 电脑注册表损坏时出现的十种症状
- · 怎样修改注册表
- · 如何恢复注册表啊
- · 谁有注册表恢复工具?
- · windows系统安全

