求助:WinMain函数的问题?

stonefire 2003-07-11 03:17:13
我编了一个基于console的程序,用WINAPI WinMain函数,如下:
#include <windows.h>
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR szCmdLi
ne,int iCmdShow)
{
.......
}
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
.......
}
编译能通过,可是却不能link执行。
提示的错误是:
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/test4.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
是怎么回事了。
十万火急,谢谢了!
...全文
52 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
stonefire 2003-07-12
  • 打赏
  • 举报
回复
谢谢各位,问题已解决了。
OLAP 2003-07-11
  • 打赏
  • 举报
回复
看一下《Windows核心编程》的第4、5、6章,应该能搞定。
sunhz99 2003-07-11
  • 打赏
  • 举报
回复
我的系统是WIN2000 PER ,我的程序里没遇到这个问题啊,我自己的是解决了。想Messagebox什么那是你自己的问题啊,既然可以运行,说明程序没有问题,你把Messagebox改了就完了啊。
hplzd 2003-07-11
  • 打赏
  • 举报
回复
我想你可能是在建立工程的过程中出现了问题,建议重新按正确的路径建立一次,再把代码拷上去,应该没问题的。
ruihuahan 2003-07-11
  • 打赏
  • 举报
回复
unresolved external symbol _main
在project settings中设置/subsystem:console改为/subsystem:windows。
console会连接main函数,但你提供的是WinMain,所以会出错。
stonefire 2003-07-11
  • 打赏
  • 举报
回复
to sunhz99(浩)
我的程序真的和你很类似。现在编译和运行都通过了。
但是我是win2000 server的系统,现在它弹出MessageBox ( NULL, TEXT ("This program requires Windows NT!"), 对话框,可是我想要出现“vhehe world"啊。
你解决了吗?
sunhz99 2003-07-11
  • 打赏
  • 举报
回复
你的这个是《Windows程式设计》里的例子吧,我刚刚也遇到这个问题了,解决了。你看看这个贴子吧。对你有帮助的
http://expert.csdn.net/Expert/topic/2017/2017029.xml?temp=.4696161
sunhz99 2003-07-11
  • 打赏
  • 举报
回复
你的这个是《Windows程式设计》里的例子吧,我刚刚也遇到这个问题了,解决了。你看看这个贴子吧。对你有帮助的
http://expert.csdn.net/Expert/topic/2017/2017029.xml?temp=.4696161
程序的色彩 2003-07-11
  • 打赏
  • 举报
回复
你编的是console函数,就不能使用WinMain()入口函数,必须使用main()入口函数
console的主函数是main();
而在windows程序中程序入口函数是WinMain().
这些都是编写的规范也是必须的.
laserzxq 2003-07-11
  • 打赏
  • 举报
回复
dz_w(快乐之星)大侠:能否说一下两者有什么区别
我新建一个空的workspace,也有搂主所说的问题
这样就好了:
新建立工程选择Win32 Application
第二步选择A Simple Application
cjf1228 2003-07-11
  • 打赏
  • 举报
回复
既然你编的是console函数,就不能使用WinMain()入口函数,必须使用main()入口函数
zhxeno 2003-07-11
  • 打赏
  • 举报
回复
吧她加进去#include "stdafx.h"
stonefire 2003-07-11
  • 打赏
  • 举报
回复
to mintwlf(Programmer
我添加了你说的头文件,
编译是可以的,但是还是出现link 错误
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/test1.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
stonefire 2003-07-11
  • 打赏
  • 举报
回复
还是不行,现在编译不通过了,错误如下:
f:\vc\test5\test5.cpp(59) : fatal error C1010: unexpected end of file while looking for precompiled header directive
Error executing cl.exe.
mintwlf 2003-07-11
  • 打赏
  • 举报
回复
// C RunTime Header Files
#include <stdlib.h>
#include <malloc.h>
#include <memory.h>
#include <tchar.h>
你把上面的头文件一起加上去看看!
dz_w 2003-07-11
  • 打赏
  • 举报
回复
新建立工程选择Win32 Application
第二步选择A Simple Application
然后用你的程序覆盖掉已有的即可

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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