用vs编译时出现LNK1120 1unresolved externals怎么解决

Eugene_Lu 2015-04-13 12:33:46

截图如图,新手求教该怎么解决
我创建的是win32 application
...全文
710 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
幻夢之葉 2015-04-14
  • 打赏
  • 举报
回复
建错了吧 你是需要win32 应用程序? 而你现在的工程类型是win32控制台程序?
william7_138 2015-04-14
  • 打赏
  • 举报
回复
引用 4 楼 Eugene_Lu 的回复:
引用 2 楼 william7_138 的回复:
你建立的是WIN32控制台程序,但是你程序中的入口程序是WinMain函数,可以单击Project Settings的LINK选项卡,将/SUBSYSTEM:CONSOLE改成/SUBSYSTEM:WINDOWS或者将WinMain改成main,是你的需求而定。
我本来就是SUBSYSTEM:SINDOWS,还是这个问题
从描述来看,你的入口点函数写的是main()函数,你需要写一个WinMain函数,因为你好像建立的是WIN32 应用程序。
william7_138 2015-04-14
  • 打赏
  • 举报
回复
引用 3 楼 Eugene_Lu 的回复:
引用 2 楼 william7_138 的回复:
你建立的是WIN32控制台程序,但是你程序中的入口程序是WinMain函数,可以单击Project Settings的LINK选项卡,将/SUBSYSTEM:CONSOLE改成/SUBSYSTEM:WINDOWS或者将WinMain改成main,是你的需求而定。
可以详细说说它们 的异同吗?新手求教
Windows支持两种类型的应用程序,一种是基于图形用户界面(GUI)的应用程序,另一种是基于控制台用户界面(CUI)的应用程序,比如我们刚开始写的第一个HelloWorld程序就是CUI程序。这两个LINK选项卡的属性其实是链接开关,有了它,链接程序就可以将相应的子系统嵌入产生的可执行程序,/SUBSYSTEM:CONSOLE对应CUI程序,/SUBSYSTEM:WINDOWS对应GUI程序。CUI的入口点函数是main()或者wmain()函数,GUI的入口点函数是WinMain()和wWinMain()函数,操作系统其实运行的时候并不调用这些进入点函数,调用是C/C++运行期启动函数,比如main()函数,对应的嵌入可执行文件的启动函数是mainCRTStartup()函数,如果你的链接程序开关设定的是/SUBSYSTEM:WINDOWS,那么将找不到mainCRTStartup(),便会报“未转换的外部符号”的链接错误,就像你这个错误。大致两者的区别就是这样吧,更多的要在实际使用中体会。
william7_138 2015-04-14
  • 打赏
  • 举报
回复
引用 9 楼 Eugene_Lu 的回复:
引用 6 楼 william7_138 的回复:
[quote=引用 4 楼 Eugene_Lu 的回复:] [quote=引用 2 楼 william7_138 的回复:] 你建立的是WIN32控制台程序,但是你程序中的入口程序是WinMain函数,可以单击Project Settings的LINK选项卡,将/SUBSYSTEM:CONSOLE改成/SUBSYSTEM:WINDOWS或者将WinMain改成main,是你的需求而定。
我本来就是SUBSYSTEM:SINDOWS,还是这个问题
从描述来看,你的入口点函数写的是main()函数,你需要写一个WinMain函数,因为你好像建立的是WIN32 应用程序。[/quote]这是源代码[/quote] 代码本身没有问题的(只有56行你这里好像输入的是利率,是不是该调用modifyInterestRate()),你把/SUBSYSTEM:WINDOWS改成/SUBSYSTEM:CONSOLE,重新编译一下试试。
Eugene_Lu 2015-04-14
  • 打赏
  • 举报
回复
引用 6 楼 william7_138 的回复:
引用 4 楼 Eugene_Lu 的回复:
[quote=引用 2 楼 william7_138 的回复:]
你建立的是WIN32控制台程序,但是你程序中的入口程序是WinMain函数,可以单击Project Settings的LINK选项卡,将/SUBSYSTEM:CONSOLE改成/SUBSYSTEM:WINDOWS或者将WinMain改成main,是你的需求而定。
我本来就是SUBSYSTEM:SINDOWS,还是这个问题

从描述来看,你的入口点函数写的是main()函数,你需要写一个WinMain函数,因为你好像建立的是WIN32 应用程序。[/quote]这是源代码
Eugene_Lu 2015-04-14
  • 打赏
  • 举报
回复
引用 6 楼 william7_138 的回复:
引用 4 楼 Eugene_Lu 的回复:
[quote=引用 2 楼 william7_138 的回复:] 你建立的是WIN32控制台程序,但是你程序中的入口程序是WinMain函数,可以单击Project Settings的LINK选项卡,将/SUBSYSTEM:CONSOLE改成/SUBSYSTEM:WINDOWS或者将WinMain改成main,是你的需求而定。
我本来就是SUBSYSTEM:SINDOWS,还是这个问题
从描述来看,你的入口点函数写的是main()函数,你需要写一个WinMain函数,因为你好像建立的是WIN32 应用程序。[/quote]我之前写的小程序里面都是这样的设置,程序里面入口点写的是main函数可以运行,这个程序里面唯一的不同就是定义了一个类结果就不行了,是不是和类的定义有关系?如果是WinMain函数的话是不是将main函数的名称简单地改为WinMain就好了?还是需要再做些什么呢?大神求教(可怜
Eugene_Lu 2015-04-13
  • 打赏
  • 举报
回复
引用 2 楼 william7_138 的回复:
你建立的是WIN32控制台程序,但是你程序中的入口程序是WinMain函数,可以单击Project Settings的LINK选项卡,将/SUBSYSTEM:CONSOLE改成/SUBSYSTEM:WINDOWS或者将WinMain改成main,是你的需求而定。
我本来就是SUBSYSTEM:SINDOWS,还是这个问题
Eugene_Lu 2015-04-13
  • 打赏
  • 举报
回复
引用 2 楼 william7_138 的回复:
你建立的是WIN32控制台程序,但是你程序中的入口程序是WinMain函数,可以单击Project Settings的LINK选项卡,将/SUBSYSTEM:CONSOLE改成/SUBSYSTEM:WINDOWS或者将WinMain改成main,是你的需求而定。
可以详细说说它们 的异同吗?新手求教
william7_138 2015-04-13
  • 打赏
  • 举报
回复
你建立的是WIN32控制台程序,但是你程序中的入口程序是WinMain函数,可以单击Project Settings的LINK选项卡,将/SUBSYSTEM:CONSOLE改成/SUBSYSTEM:WINDOWS或者将WinMain改成main,是你的需求而定。
mxway 2015-04-13
  • 打赏
  • 举报
回复
你的项目是win32的应用程序,没有winmain函数。

64,654

社区成员

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

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