一个有关vc的窗口工程的编译问题,换一种提问方式就是“error LNK2001:unresolved external symbol _main”该怎么给它解决掉?

midsummer 2002-10-30 09:35:26
我是在调一个API方式编程时遇到这个错误的,代码编译本身没错误,只是在连接的时候出现了两个错误,另一个是“fatal error LNK1120:1 unresolved externals”我抄的这个程序出自《VC++面向对象与可视化程序设计》第74页,刚开始连接的时候还行的,后来就不知怎么了,连可执行文件都不见了

我现在还不知道这问题的分量,如果很复杂的话,我再另开贴给分。当然,既然刚开始能够解决并没有产生错的话,再重建一个工程
也是可以逃避这个错误的,但我想知道产生这个错误的根源
...全文
42 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
midsummer 2002-11-09
  • 打赏
  • 举报
回复
up一下,谢谢各位,但我还是想知道这个错误和窗口函数的关系
hotter 2002-11-09
  • 打赏
  • 举报
回复
要嘛你根本就没有装控制台,要嘛你装错了控制台,相信你不会连主函数都不打入进源文件里把?这只是很普通的错误,没什么大不了的
lipeng518888 2002-10-31
  • 打赏
  • 举报
回复
没有包含库文件吧。看看在link的对象中有没有以下库
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib

你的情况可能是没有包含这些库引起的/
林水福 2002-10-31
  • 打赏
  • 举报
回复
关注
qing_li73 2002-10-31
  • 打赏
  • 举报
回复
See the sample below, change to another view ,FYI :

http://www.codeproject.com/dialog/quickwin.asp
woxinfeixiang 2002-10-31
  • 打赏
  • 举报
回复
可能是没有包含所需要的库文件,你可以查一下msdn看一看,你调用的API需要哪个库文件。
wj59 2002-10-31
  • 打赏
  • 举报
回复
1.subsystem:console 改称 /subsystem:windows
2.ReBuildAll
ruihuahan 2002-10-31
  • 打赏
  • 举报
回复
up
LinHanLao 2002-10-31
  • 打赏
  • 举报
回复
Build --> Setting ---> Link ---> Project option

---> /subsystem:console 改称 /subsystem:windows
  • 打赏
  • 举报
回复
同意: rivershan(笨猫)(C++/MFC/COM初学者)
rivershan 2002-10-30
  • 打赏
  • 举报
回复
工程类型不对~
改编译器选项~
Alt+F7,link选项中~
/subsystem:console
改成
/subsystem:windows
或者
删掉这一条件~编译器会自动寻找入口汉书~

iamknight 2002-10-30
  • 打赏
  • 举报
回复
你的工程是控制台型,这时,你的入口函数必须是main();
duqiang2050 2002-10-30
  • 打赏
  • 举报
回复
是说没有main函数
zhenxizhou 2002-10-30
  • 打赏
  • 举报
回复
我也经常碰到,gz
VC 6.0常见安装错误 VC调试常见错误 程序设计到多线程,VC++6.0默认设置可作以下修改: project->settings->C/C++->Category中选Code Generation->Use Run-time Library选Debug MultiThreaded或MultiThreaded 在创建MFC项目时, 不使用MFC AppWizard向导, 如果没有设置好项目参数, 就会在编译时产生很多连接错误, 如error LNK2001错误, 典型的错误提示有: libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16 msvcrtd.lib(crtexew.obj) : error LNK2001: unresolved external symbol _WinMain@16 nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex 下面介绍解决的方法: 1. Windows子系统设置错误, 提示: libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main Windows项目要使用Windows子系统, 而不是Console, 可以这样设置: [Project] --> [Settings] --> 选择"Link"属性页, 在Project Options中将/subsystem:console改成/subsystem:windows 2. Console子系统设置错误, 提示: LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16 控制台项目要使用Console子系统, 而不是Windows, 设置: [Project] --> [Settings] --> 选择"Link"属性页, 在Project Options中将/subsystem:windows改成/subsystem:console 3. 程序入口设置错误, 提示: msvcrtd.lib(crtexew.obj) : error LNK2001: unresolved external symbol _WinMain@16 通常, MFC项目的程序入口函数是WinMain, 如果编译项目的Unicode版本, 程序入口必须改为wWinMainCRTStartup, 所以需要重新设置程序入口: [Project] --> [Settings] --> 选择"C/C++"属性页, 在Category中选择Output, 再在Entry-point symbol中填入wWinMainCRTStartup, 即可 4. 线程运行时库设置错误, 提示:

16,472

社区成员

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

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

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