无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用

一,问题描述

MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用 
Debug\jk.exe : fatal error LNK1120: 1 个无法解析的外部命令

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

二,产生这个问题可能的原因

产生这个问题的真正原因是c语言运行时找不到适当的程序入口函数,一般情况下,如果是windows程序,那么WinMain是入口函数,如果是dos控制台程序,那么main是入口函数,而如果入口函数指定不当,很显然c语言运行时找不到配合函数,它就会报告错误。

可能:

1, 你用vc建了一个控制台程序,它的入口函数应该是main, 而你使用了WinMain.

2. 你用vc打开了一个.c/.cpp 文件,然后直接编译这个文件,这个文件中使用了WinMian而不是main作为入口函数。vc这时的默认设置是针对控制台程序的。

3.根本就没有WinMain或Main函数。

三, 解决方法

1.进入project->setting->c/c++, 在category中选择preprocessor,在processor definitions中删除_CONSOLE, 添加_WINDOWS

2.进入project->setting->Link, 在Project options中将 /subsystem:console改为/subsystem:windows.

3.保存设置,Rebuild All.

---------------------------转

mine: 添加main()

 

又遇到一次无法解析的外部符号

 

是因为在.h中声明的方法 没有在.cpp中定义

 

 

 

又又一次遇到 无法解析的外部符号 "__declspec(dllimport)。。。。这个是lib 没配好   就是需要在 项目属性-》链接器-》输入-》附加依赖库 里把相应的XXX.lib加进去

又又又遇到了 .obj无法解析的外部符号  后面无法解析的那个函数 的位置 找到相应的lib 添加到依赖库里

又又又又又又。。。是因为 诸多lib版本乱掉了 

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

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

相关文章

常见位操作:获取,设置,清零

1 /*常见位操作:获取,设置,清零2 * 3 * */4 public class BitGet {5 /*6 * 该函数实现获取功能7 * 先将1左移动i位,左移动0位变成了00000001,8 * 然后再和Num十进制12转化为二进制00001100进行&a…

CSS Grid布局(2)

6.间距 grid-column-gap和grid-row-gap属性用来创建列与列,行与行之间的间距 间距(Gap)可以设置任何非负值,长度值可以是px、%、em等单位值 grid-gap是grid-row-gap和grid-column-gap两个属性的缩写 如果它指定了两个值,那么第一个值是设置…

linux怎么使多条命令同时执行

一次执行多个bai命令可以将多个命令用du英文分号分割,比如像这样:zhi mkdir /tmp/mydir; touch /tmp/mydir/myfile 其实这样也倒不能算是同时执行,Linux的命令是顺序执行的,就算是shell脚本, 里面写了一大堆命令&#…

React开发(124):ant design学习指南之form中的属性isFieldTouched

没有值的时候返回提示的error 有值返回undefined

食品安全--牛奶和蛋白质浅谈

蛋白质才是牛奶中的主要营养成分,鲜牛奶的国家标准是100毫升≥2.95克,而纯正的生鲜牛奶的蛋白质含量一般在3%以上,一般都能达到国家标准。 食品工业上检测牛奶蛋白质含量被定为国家标准的是凯氏定氮法。原理很简单:蛋白…

HDU 4990 Ordered Subsequence --数据结构优化DP

题意&#xff1a;给一串数字&#xff0c;问长度为m的严格上升子序列有多少个 解法&#xff1a;首先可以离散化为10000以内&#xff0c;再进行dp&#xff0c;令dp[i][j]为以第i个元素结尾的长度为j的上升子序列的个数&#xff0c; 则有dp[i][j] SUM(dp[k][j-1]) (a[k] < a[…

OpenGL 开发环境配置

From: http://www.cnblogs.com/kesalin/archive/2009/09/08/1562499.html OpenGL 下有一些重用的辅助库&#xff0c;比如glut,glee,glew等等&#xff0c;在windows平台下需要自己安装&#xff0c;因为微软为了推广自己的DX&#xff0c;在windows下只支持openGL 1.1版本。你可以…

CSS Grid布局(3)

10.网格线命名 通过grid-template-rows和grid-template-columns定义网格时&#xff0c;网格线可以被命名。网格线名称也可以设置网格项目位置 grid-template-rows和grid-template-columns定义你的网格&#xff0c;将名称分配给网格线 定义网格线名称时需要避免使用规范中出现…

main.js中的Vue.config.productionTip = false

开发模式&#xff1a;npm run dev是前端自己开发用的 生产模式&#xff1a;npm run build 打包之后给后端放在服务端上用的 Vue.config.productionTip false 1 上面这行代码的意思 是阻止显示生产模式的消息。 如果没有这行代码&#xff0c;或者设置为true&#xff0c;控制台就…

VS 2010 OpenGL 配置与实例开发

首先参考了网上的安装配置环境部分&#xff1a;http://blog.csdn.net/Ididcan/article/details/4490797 最近准备学习OpenGL,结果发现敲入书中给的代码&#xff0c;居然提示头文件找不到&#xff0c;相当郁闷&#xff0c;查了一下才发现有些不是VC自带的&#xff0c;需要自己下…

《COM原理与应用》学习笔记二——COM对象和COM接口的实现

COM对象是给用户提供服务的封装的实体。这个应该和C中类的对象理解起来是相似的。但是有时候也把COM对象当作提供服务的那个类。COM对象也对数据进行了封装&#xff0c;然后也提供了接口。不过和类还是有一些不一样的。类中的数据可以申明为public&#xff0c;然后让用户能够直…

禁止ipc$默认共享的方法

以下四种方法可以参考一下: A、一种办法是把ipc$和默认共享都删除了。但重起后还会有。这就需要改注册表。 1&#xff0c;先把已有的删除 net share ipc$ /del net share admin$ /del net share c$ /del …………&#xff08;有几个删几个&#xff09; 2&#xff0c;禁止建立空…

NODE属性说明

注&#xff1a;文本节点、元素节点或者注释节点等都是Node类型的子类&#xff0c;它们继承自Node类&#xff0c;所以这里的node可以是任何一种节点类型 1.node.nodeType用来以数字值返回指定节点node的节点类型 2.node.nodeName用来返回指定节点的节点名称 如果节点是元素节点…

使用临时文件mkstemp和输出errno对应的错误描述信息strerror

/* <<高级Linux编程.pdf>> page24-25: temp_file.cmkstemp: 从一个文件名模板(结尾是&#xff1a;XXXXXX)生成临时文件名&#xff0c;创建这个临时文件&#xff0c;将模式设置为仅当前用户可以访问&#xff0c;并且以读写权限打开这个文件。mkstemp函数用其他字符替…

微信h5网页关闭分享以及关闭当前页面

关闭网页分享一些按钮 document.addEventListener("WeixinJSBridgeReady", function () {WeixinJSBridge.call(hideOptionMenu); });关闭网页 WeixinJSBridge.call(closeWindow);

Linux Shell脚本中点号和source命令

Linux中一个文件是根据其是否具有执行属性来判断他是否可以直接运行的。就像Windows下的exe一样。如果我们要执行某一个文件&#xff0c;可以先将其权限修改为可执行(必须是所有者或者root才能修改)。然后&#xff0c;通过用sh来执行该脚本或者./脚本名。 但有时候我们并不想修…

[转载]使用命名管道实现进程间通信

使用命名管道实现进程间通信 来源 : VChelp 4.5 进程间通信 在Win32下提供的进程间通信方式有以下几种&#xff1a; 剪贴板Clipboard&#xff1a;在16位时代常使用的方式&#xff0c;CWnd类中提供了支持。 COM/DCOM&#xff1a;通过COM系统的代理存根方式进行进程间数据交换&…