OpenCV编译运行出错(编译环境问题)

一、问题:LNK2019 无法解析的外部符号 WinMain,该符号在函数 “int __cdecl invoke_main(void)” (?invoke_main@@YAHXZ) 中被引用
在编译OpenCV4.1过程中出现的问题。

二、可能的原因
主要是因为C/C++运行时找不到适当的程序入口函数,

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

在dos控制台程序,则main是入口函数,在VS2015中新建项目为“win32控制台应用程序”

当入口函数指定不合适时,程序运行时找不到相配合函数,出现上述错误。

三、通过修改对应设置适应编译环境需求

如果是windows程序:

1.菜单中选择 项目(Project)->属性(Properties), 弹出属性页面(Property Pages)窗口

2.在左边栏中依次选择:配置属性(Configuration Properties)->C/C+±>预处理器(Preprocessor),然后在右边栏的预处理器定义(Preprocessor Definitions)对应的项中删除_CONSOLE, 添加_WINDOWS.

3.在左边栏中依次选择:属性配置(Configuration Properties)->链接器(Linker)->系统(System),然后在右边栏的子系统(SubSystem)对应的项改为Windows(/SUBSYSTEM:WINDOWS)

如果是控制台程序:

1.菜单中选择项目(Project)->属性(Properties), 弹出属性页面(Property Pages)窗口
在这里插入图片描述
2.在左边栏中依次选择:配置属性(Configuration Properties)->C/C+±>预处理器(Preprocessor),然后在右边栏的预处理器定义(Preprocessor Definitions)对应的项中删除_WINDOWS, 添加_CONSOLE.
在这里插入图片描述

在这里插入图片描述

3.在左边栏中依次选择:属性配置(Configuration Properties)->链接器(Linker)->系统(System),然后在右边栏的子系统(SubSystem)对应的项改为CONSOLE(/SUBSYSTEM:CONSOLE)
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值