error LNK2019: 无法解析的外部符号 WinMain,该符号在函数 int __cdecl invoke_main(void)”中被引用

 

From:https://blog.csdn.net/u012570056/article/details/74639894

 

 

一,问题描述 

 

MSVCRTD.lib(exe_winmain.obj) : error LNK2019: 无法解析的外部符号 WinMain,该符号在函数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 中被引用
CamShift.exe : fatal error LNK1120: 1 个无法解析的外部命令

error LNK2001: unresolved external symbol _WinMain
debug/main.exe:fatal error LNK 1120:1 unresolved externals 
error executing link.exe;

 

 

二,原因及解决办法 

 

产生这个问题的真正原因是c语言运行时找不到适当的程序入口函数,

一般情况下,如果是windows程序,那么WinMain是入口函数,在VS2017中新建项目为“win32项目”

如果是dos控制台程序,那么main是入口函数,在VS2017中新建项目为“win32控制台应用程序”

而如果入口函数指定不当,很显然c语言运行时找不到配合函数,它就会报告错误。

修改设置适应你的需求
 

 

如果是 windows桌面程序

  • 1. 菜单中选择 项目->属性, 弹出 项目 属性页
  • 2. 在左边栏中依次选择:配置属性 -> C/C++ -> 预处理器,然后在右边栏的 预处理器定义对应的项中删除 _CONSOLE,添加 _WINDOWS
  • 3. 在左边栏中依次选择:配置属性 -> 链接器 -> 系统,然后在右边栏的 子系统 对应的项改为Windows(/SUBSYSTEM:WINDOWS)

 

 

如果是 控制台程序

  • 1. 菜单中选择 项目->属性, 弹出 项目 属性页
  • 2. 在左边栏中依次选择:配置属性 -> C/C++ -> 预处理器,然后在右边栏的 预处理器定义对应的项中删除  _WINDOWS,添加 _CONSOLE
  • 3. 在左边栏中依次选择:配置属性 -> 链接器 -> 系统,然后在右边栏的 子系统 对应的项改为CONSOLE(/SUBSYSTEM:CONSOLE)

 

 

VS2019 需要将项目由 debug 改成 release

 

示例代码:

#include <windows.h>
LONG WINAPI WndProc(HWND, UINT, WPARAM, LPARAM);int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{WNDCLASS wc;HWND hwnd;MSG msg;wc.style = 0;                       //类样式wc.lpfnWndProc = (WNDPROC)WndProc;  //window 程序地址wc.cbClsExtra = 0;                  //类  额外的字节wc.cbWndExtra = 0;                  //window  额外的字节wc.hInstance = hInstance;           //实例句柄 wc.hIcon = LoadIcon(NULL, IDI_WINLOGO);  //图标句柄wc.hCursor = LoadIcon(NULL, IDC_ARROW);  //鼠标句柄wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); // 背景颜色wc.lpszMenuName = NULL;           //菜单名wc.lpszClassName = "MyWndClass";  //WNDCLASS 名RegisterClass(&wc);hwnd = CreateWindow("MyWndClass",        //WNDCLASS 名"SDK_Application",   //window titleWS_OVERLAPPEDWINDOW, //window styleCW_USEDEFAULT,       //水平位置CW_USEDEFAULT,       //垂直位置CW_USEDEFAULT,       //初始化宽度CW_USEDEFAULT,       //初始化高度HWND_DESKTOP,        //父窗口句柄NULL,                //菜单句柄hInstance,           //应用程序的 实例 句柄NULL                 //window 创建数据);ShowWindow(hwnd, nShowCmd);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)
{PAINTSTRUCT ps;HDC hdc;switch (message){case WM_PAINT:hdc = BeginPaint(hwnd, &ps);Ellipse(hdc, 0, 0, 200, 100);EndPaint(hwnd, &ps);return 0;case WM_DESTROY:PostQuitMessage(0);return 0;}return DefWindowProc(hwnd, message, wParam, lParam);
}

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/495736.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

德国人工智能研究中心波尔特:人工智能与工业4.0并驾齐驱

来源&#xff1a;科技日报摘要&#xff1a;2013年德国政府提出的“工业4.0”战略就涵盖了人工智能。“工业4.0”战略着重在制造业等领域相互利用。以深度学习、自我升级为主要特征的人工智能有望将人类各方面智能拓展到极限&#xff0c;从而在各领域做到极致。人工智能的研发在…

用javascript生成指定范围的随机数

1. 从1开始 至 任意值 linenum parseInt(Math.random()*上限1); 2. 从任意值开始 至 任意值 linenum parseInt(Math.random()*(上限-下限1)下限); 上面的公式使用了 parseInt(), 因此要加1; 如果使用 Math.ceil() 则不需要加1, 习惯于这样写... 1. 示例1 (直接进行生成随机数操…

Dom4j完整教程~字符串与XML的转换

1.将字符串转化为XML String text "<members> <member>sitinspring</member> </members>"; Document document DocumentHelper.parseText(text); 2.将文档或节点的XML转化为字符串. SAXReader reader new SAXReader(); Docu…

C++ 基本数据类型 的 字节数

From&#xff1a;https://www.cnblogs.com/qiumingcheng/p/7824919.html C语言入门经典——基础知识&#xff08;数据类型&#xff09;&#xff1a;https://blog.csdn.net/weixin_42167759/article/details/80404815 闲聊c/c: 各平台下基本数据类型的字节长度&#xff1a;htt…

无法找到或创建字体'SansSerif'.某些字符可能无法正确显示或打印。

无法找到或创建字体SansSerif.某些字符可能无法正确显示或打印。原因&#xff1a;繁体CAD生成的PDF造成的。/Files/cnaspnet/SansSerif.rar 转载于:https://www.cnblogs.com/cnaspnet/archive/2010/10/20/1856890.html

协作机器人的江湖:把人放在首位

来源&#xff1a;机器人创新生态 作者&#xff1a;张有凤远离硅谷及亚洲电子产业中心的地方&#xff0c;一个拥有许多灵魂的小创业公司正在掀起波澜。在伊利湖东端&#xff0c;一个由丹麦移民创办的公司正在布法罗市中心的所有地方建造移动计算机。在美国平板制造厂商Bak的厂…

Dom4j完整教程~dom4j的事件处理模型涉及的类和接口

1、类&#xff1a;SAXReader 当解析到path指定的路径时&#xff0c;将调用参数handler指定的处理器。针对不同的节点可以添加多个handler实例。或者调用默认的Handler setDefaultHandler(ElementHandler handler); 2、接口ElementHandler onStart() 该方法在解析到元素的开始…

Visual Assist X 安装、使用 和 快捷键

Visual Assist 官网地址&#xff1a;https://www.wholetomato.com visual Assist 快捷键大全&#xff1a;https://blog.csdn.net/dddd0216/article/details/80082885 Visual Assist X的使用&#xff1a;https://jingyan.baidu.com/article/380abd0a4844111d90192c9a.html Vi…

Dom4j完整教程~通过xpath查找指定的节点

采用xpath查找需要引入jaxen-xx-xx.jar&#xff0c;否则会报java.lang.NoClassDefFoundError: org/jaxen/JaxenException异常。 List listdocument.selectNodes("/books/book/show"); xpath语法 1、选取节点 XPath 使用路径表达式在 XML 文档中选取节点&#xff0…

盘点丨毕业年薪34万,高校人工智能研究哪家强?

来源&#xff1a;亿欧网摘要&#xff1a;人才短缺已经成为了制约人工智能技术发展和应用落地的一大短板&#xff0c;为了弥补这一短板&#xff0c;加强人才培养&#xff0c;近日教育部发布了《高等学校人工智能创新行动计划》此前有报道显示&#xff0c;2017年AI工程师平均年薪…

第1章 Hello MFC

微软 MFC 官方文档&#xff1a;https://docs.microsoft.com/zh-cn/cpp/mfc/mfc-desktop-applications?viewvs-2019 MFC 层次结构图以及下载地址&#xff1a;https://docs.microsoft.com/zh-cn/cpp/mfc/hierarchy-chart?viewvs-2019 VC6.0/VS2005/VS2010/VS2012/VS2013/VS201…

navigator 对象

转载&#xff1a; http://www.itlearner.com/code/js_ref/brow1.htm 包含了正在使用的 Navigator 的版本信息。 客户端对象 实现版本 Navigator 2.0 Navigator 3.0: 添加了 mimeTypes 和 plugins 属性&#xff1b;添加了 javaEnabled 和 taintEnabled 方法。 Navigator 4.0: …

产业|MIR睿工业:2018年机器人市场分析报告

来源&#xff1a;Robot未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能&#xff0c;互联网和脑科学交叉研究机构。未来智能实验室的主要工作包括&#xff1a;建立AI智能系统智商评测体系&#xff0c;开展世界人工智能智商评测&#xff1b;开展互联网&#xff…

p1和p7签名的区别

前言: P1签名:即裸签名,签名值中只有签名信息. p7签名:即,签名中可以带有其他的附加信息,例如签名证书信息,签名原文信息,时间戳信息等. 所以要注意,不要p7的签名,用p1的方式来验签,这样是不对的.是错误的. 数字签名中,包含了两个过程: 1.对要签名的信息,用指定的hash算法,获取…

用 Python 和 werobot 框架开发公众号

From&#xff1a;用 Python 和 werobot 框架开发公众号&#xff1a;https://www.jianshu.com/p/a517746a900f WeRoBot 官方文档 &#xff1a;https://werobot.readthedocs.io/zh_CN/latest/ Github &#xff1a;https://github.com/offu/WeRoBot Python — WeRobot&#xff0…

专家:智能芯片国际竞争愈发激烈,应尽快制定国家标准

来源&#xff1a; 科技日报摘要&#xff1a;近日&#xff0c;十三届全国政协第一次双周协商座谈会在京召开。会议聚焦的话题是人工智能的发展与对策。夯实基础&#xff0c;提升原始创新能力中科院计算所智能处理器中心主任陈云霁做的就是智能芯片&#xff0c;作为智能芯片公司寒…

easyExcel 使用指南详解

来源&#xff1a;easyExcel 使用指南详解 - 知乎 easyExcel简介 Java领域解析、生成Excel比较有名的框架有Apache poi、jxl等。但他们都存在一个严重的问题就是非常的耗内存。如果你的系统并发量不大的话可能还行&#xff0c;但是一旦并发上来后一定会OOM或者JVM频繁的full g…

(转)Web Services使用多态(XmlInclude) ,支持自定义类型

Web Services使用多态(XmlInclude) 在Web Services方法中&#xff0c;往往使用的都是一个具体类型的参数&#xff0c;这个参数一般就是一个数据对象。ASP.NET Web Services通过声明XmlIncludeAttribute可以实现Web Services方法中运用多态。 XmlIncludeAttribute允许XmlSeriali…

EasyExcel快速上手~读取

对象 // 如果没有特殊说明&#xff0c;下面的案例将默认使用这个实体类 public class DemoData {private String string;private Date date;private Double doubleData;// getting setting }监听器 // 如果没有特殊说明&#xff0c;下面的案例将默认使用这个监听器 public cl…

激光破解太空通信难题

来源&#xff1a;新浪科技摘要&#xff1a;虽然目前而言无线电天线仍然是太空通信的支柱&#xff0c;但目前未来发展方向是激光通讯系统。在太空中&#xff0c;没有人会听到你的尖叫——因为声音不会在真空中传播&#xff0c;而且你需要某种类型的无线电波中继携载这些信息&…