VS2015 error LNK2019 无法解析的外部符号 _WinMain@16,该符号在函数 “int __cdecl invoke_main(void)”[通俗易懂]

VS2015 error LNK2019 无法解析的外部符号 _WinMain@16,该符号在函数 “int __cdecl invoke_main(void)”[通俗易懂]前言上一篇文章中,为了编译OpenCV的示例代码,然后搭建环境,最后想直接运行示例demo,我在创建新工程的时候,直接创建了一个win32窗口项目,然后环境配置完成后,将opencv的示例代码kalman.cpp直接导入到新建的vs工程中进行编译,直接报错:错误 LNK2019 无法解析的外部符号_WinMain@16,该符号在函数"int__cdeclinvoke_main(vo…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

前言

上一篇文章中,为了编译OpenCV的示例代码,然后搭建环境, 最后想直接运行示例demo,我在创建新工程的时候,直接创建了一个win32窗口项目,然后环境配置完成后,将opencv 的示例代码kalman.cpp直接导入到新建的vs工程中进行编译,直接报错:

错误	LNK2019	无法解析的外部符号 _WinMain@16,该符号在函数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 中被引用	opencvDemo	E:\MyWork\VSProject\opencvDemo\opencvDemo\MSVCRTD.lib(exe_winmain.obj)	1

在这里插入图片描述

经过网上查找问题,终于找到原因,是因为c语言运行时找不到适当的程序入口函数,一般情况下,如果是windows程序,那么WinMain是入口函数,就比如我这里创建的“win32项目”
如果是dos控制台程序,那么main是入口函数,新建项目为“win32控制台应用程序”
而如果入口函数指定不当,很显然c语言运行时找不到配合函数,它就会报告错误。
所以我这里出错的原因是我导入的kalman.cpp是一个dos控制台程序,但是我新建项目时选择的是“win32项目”,这时候修改一下配置就可以了。

解决办法:
右键工程名, 打开属性,依次找到以下路径:
在这里插入图片描述

VS2015 error LNK2019 无法解析的外部符号 _WinMain@16,该符号在函数 "int __cdecl invoke_main(void)"[通俗易懂]

然后将这里的_WINDOWS删除,并添加_CONSOLE
在这里插入图片描述

接下来再依次点击如下路径:
在这里插入图片描述

将这里的子系统切换为“控制台”,修改完成后再次编译即可。

相反,如果是windows程序,就按照相反的设置来配置即可,这里就不再赘述了。

参考地址:https://blog.csdn.net/playstudy/article/details/6661868

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/185413.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号