VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 178|回复: 7

[已解决]windows程序无法解析的外部命令LNK2019

[复制链接]
68_avatar_middle
最佳答案
0 
在线会员 发表于 2021-9-15 12:28:07 | 显示全部楼层 |阅读模式
严重性        代码        说明        项目        文件        行        禁止显示状态
错误        LNK2019        无法解析的外部符号 _main,函数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 中引用了该符号

怎么办?       
最佳答案
31_avatar_small
2021-9-15 17:58:45
int main 是控制台窗口的入口函数,
int WINAPI WinMain 是窗口程序的入口函数,

报这个错的原因是你创建了控制台项目,入口函数却使用了WinMain(窗口程序入口)。
解决方法一:
    右键“项目名称”,选择->属性->链接器->系统->子系统,修改为窗口。
解决方法二:
    新建项目时选择Win32应用,想自己手动写入口函数就勾上“空项目”,时间久远,不大记得,但大概是这样!
e2aa8d7ee8f0698ca8bcd9c05aa276f.png




上一篇:奇怪 为什么gcc运行结果和vc2013会不一样
下一篇:C++上位机开发
70_avatar_middle
最佳答案
0 
在线会员 发表于 2021-9-15 13:32:29 | 显示全部楼层
项目  属性 链接器  系统  子系统改为窗口
07_avatar_middle
最佳答案
8 
在线会员 发表于 2021-9-15 13:36:54 | 显示全部楼层
属性->链接器->系统->子系统 这里面几个选项试试。不过你需要搞清楚不同的子系统对应的程序入口点。
31_avatar_middle
最佳答案
46 
在线会员 发表于 2021-9-15 17:58:45 | 显示全部楼层    本楼为最佳答案   
bestAnswer
int main 是控制台窗口的入口函数,
int WINAPI WinMain 是窗口程序的入口函数,

报这个错的原因是你创建了控制台项目,入口函数却使用了WinMain(窗口程序入口)。
解决方法一:
    右键“项目名称”,选择->属性->链接器->系统->子系统,修改为窗口。
解决方法二:
    新建项目时选择Win32应用,想自己手动写入口函数就勾上“空项目”,时间久远,不大记得,但大概是这样!
68_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2021-9-15 21:50:24 | 显示全部楼层
cpp2019 发表于 2021-9-15 17:58
int main 是控制台窗口的入口函数,
int WINAPI WinMain 是窗口程序的入口函数,

谢谢提醒,但是如果一开始就创建窗口程序要怎么办?选哪个?我的是vs2019,跟2013不一样,也是刚刚开始用vs没多久,又是小白,分不太清
68_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2021-9-15 21:51:44 | 显示全部楼层
freehawkzk 发表于 2021-9-15 13:36
属性->链接器->系统->子系统 这里面几个选项试试。不过你需要搞清楚不同的子系统对应的程序入口点。

谢谢提醒,以后还请多多请教
31_avatar_middle
最佳答案
46 
在线会员 发表于 2021-9-15 22:55:17 | 显示全部楼层
本帖最后由 cpp2019 于 2021-9-15 23:31 编辑
破仙小丑 发表于 2021-9-15 21:51
谢谢提醒,以后还请多多请教


VS2013很多年没用了,我现在用VS2017, VS2017 和 VS2019差不多。
新建项目时,选择Windows 桌面->Windows 桌面向导,填写项目名称,选择存放位置,点确定。
windows程序无法解析的外部命令LNK2019
应用程序类型选桌面应用程序(.exe),勾上空项目,点确定项目就创建好了。
windows程序无法解析的外部命令LNK2019
解决方案资源管理器中右键选中“项目名称”,选择 添加->新建项,新建一个main.cpp。
windows程序无法解析的外部命令LNK2019
windows程序无法解析的外部命令LNK2019
在main.cpp文件中敲入以下代码就完成了最简单的窗口程序。
  1. #include <windows.h>

  2. int APIENTRY WinMain(_In_ HINSTANCE hInstance,
  3.         _In_opt_ HINSTANCE hPrevInstance,
  4.         _In_ LPSTR    lpCmdLine,
  5.         _In_ int       nCmdShow)
  6. {
  7.         MessageBox(NULL, L"Windows 窗口程序", L"Caption", MB_OK);
  8.         return 0;
  9. }
复制代码


windows程序无法解析的外部命令LNK2019
这个论坛有很多教程,慢慢学吧,编程是件很有意思的事,但是急不来,经验是慢慢积累的。
26_avatar_middle
最佳答案
0 
在线会员 发表于 2021-9-19 10:45:01 | 显示全部楼层
谢谢大佬指点
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号-4 )|网站地图wx_jqr

GMT+8, 2021-9-27 07:00

Powered by CcTry.CoM

© 2009-2021 cctry.com

快速回复 返回顶部 返回列表