zoukankan      html  css  js  c++  java
  • 无法解析的外部符号 _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版本乱掉了 

  • 相关阅读:
    阿里P7架构师是如何解决跨域问题的!你有遇到吗?
    Node.js Express 框架
    用户管理 之 Linux 系统中的超级权限的控制
    [转] Exchange 2013 安装部署详解
    Clustered和Nonclustered Indexes 各自得特点和区别及长短处
    配置IIS5.5/6.0 支持 Silverlight
    redis模块使用
    redis介绍及安装
    linux上安装redis、远程配置及开机启动
    远程连接linux、配置SSHD
  • 原文地址:https://www.cnblogs.com/minggoddess/p/1907180.html
Copyright © 2011-2022 走看看