C/C++编译时的Link.EXE错误问题与解决方法

2023-11-15

C/C++编译时的Link.EXE错误问题与解决方法 

作者:Acharlix

 

(1)、LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16

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

产生这个问题可能的原因
1, 你用vc建了一个控制台程序,它的入口函数应该是main, 而你使用了WinMain.

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

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

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

3.保存设置,Rebuild All.  

(2)、LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/WinMain.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.  

问题描述
lnk2001:unresolved external symbol……为不确定的外部符号,如果连接程序不能在所有的库和目标文件内找到所引用的函数、变量或标签,将产生此错误消息。

产生这个问题可能的原因
一般来说,发生错误的原因有两个:一是所引用的函数、变量不存在、拼写不正确或者使用错误;其次可能使用了不同版本的连接库。

解决方法
尝试在[Project] --> [Settings] --> 选择"Link"属性页,
在Project Options中将/subsystem:console改成/subsystem:windows

(3)、nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex 

问题描述
这是因为MFC要使用多线程时库 

解决方法
需要更改设置:

[Project] --> [Settings] --> 选择"C/C++"属性页,
在Category中选择Code Generation,
再在Use run-time library中选择Debug Multithreaded或者multithreaded

其中,
Single-Threaded 单线程静态链接库(release版本)
Multithreaded 多线程静态链接库(release版本)
multithreaded DLL 多线程动态链接库(release版本)
Debug Single-Threaded 单线程静态链接库(debug版本)
Debug Multithreaded 多线程静态链接库(debug版本)
Debug Multithreaded DLL 多线程动态链接库(debug版本)

单线程: 不需要多线程调用时, 多用在DOS环境下
多线程: 可以并发运行
静态库: 直接将库与程序Link, 可以脱离MFC库运行
动态库: 需要相应的DLL动态库, 程序才能运行
release版本: 正式发布时使用
debug版本: 调试阶段使用

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C/C++编译时的Link.EXE错误问题与解决方法 的相关文章

  • 数据结构刷题:第十七天(基础)

    目录 一 杨辉三角 二 旋转图像 看题解 三 螺旋矩阵 一 杨辉三角 119 杨辉三角 II 力扣 LeetCode https leetcode cn problems pascals triangle ii plan data stru
  • python爬虫:抓取页面上的超链接

    Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库 它能够通过你喜欢的转换器实现惯用的文档导航 查找 修改文档的方式 Beautiful Soup会帮你节省数小时甚至数天的工作时间 页面上的超链接 在H

随机推荐

  • Tangram 2.0 VirtualView Demo 配置

    天猫开源了一个动态UI的方案 包含 https github com alibaba VirtualView iOS https github com alibaba tangram ios 简单来个Demo 1 常规创建工程 配置podf
  • nohup 后台启动程序,并输出到指定日志

    1 启动程序并输入到指定日志 nohup python manage py runserver 0 0 0 0 9090 gt data zyj xadstat xadstat log 2 gt 1 或者 nohup python mana
  • 企培版edusoho对接第三方云视频点播 最新版本代码披露 支持m3u8视频加密

    edusoho企培系列版本更新日志 新增功能和优化历史 倍数播放功能 视频分类 支持m3u8视频加密 plugins AliVideoPlugin DependencyInjection Configuration php
  • 零基础入门网络安全,收藏这篇不迷茫【2023 最新】

    零基础入门网络安全 收藏这篇不迷茫 2023 最新 前言 最近收到不少关注朋友的私信和留言 大多数都是零基础小友入门网络安全 需要相关资源学习 其实看过的铁粉都知道 之前的文里是有过推荐过的 新来的小友可能不太清楚 这里就系统地叙述一遍 0
  • Qt connect的实现原理

    概述 connect实质上是将对象A的信号和对象B的槽函数进行连接 然后返回一个句柄Connection 正文 下面通过源码来解析一下 注意看中文注释 connection表示信号槽连接句柄 QMetaObject Connection Q
  • 15. 从0开始学ARM-位置无关码

    目录 十九 位置无关码 一 为什么需要位置无关码 1 exynos 4412启动流程 二 怎么实现位置无关码 1 什么是 编译地址 什么是 运行地址 2 举例 3 代码 四 总结 1 位置无关码 2 位置相关码 3 位置无关码的应用 4 结
  • 动态实体类方案1.0(虚拟实体类生成器)[万能实体]

    该工具能实现任何实体类的动态生成传入参数名称自动生成get set方法 供反射调用 该方法生成的实体类是在程序运行过程动态生成加载出来的 实际代码文件并不存在 所以我暂定他为虚拟实体类生成工具 本方法我自己暂时用在mybatis中当统一的传
  • DETR源码学习(三)之损失函数与后处理

    在DETR模型中 在完成DETR模型的构建后 我们送入数据在完成前向传播后就需要使用预测值与真实值进行计算损失来进行反向传播进而更新梯度 在DETR模型中 其标签匹配采用的是匈牙利匹配算法 主要涉及models matcher py mod
  • 调用百度API实现人脸识别

    人脸识别 听着很高级 但实际上它确实很高级 不过对于我们开发人员来说 我们大部分人都是拿来主义 这次展示的是调用百度人脸识别API进行人脸信息分析 笔者试了下 发现还是挺准确的 而且代码量很少才8行 用的python 如果用java铁定不止
  • js拼接字符串与变量

    使用eval 方法可将拼接后的字符串与变量转变为变量 var field test 我是小白鼠一号 var field test 我是小白鼠二号 然后在JS里尝试将前面的语言简写当成变量 拼接后面的字符串 var lang field va
  • 含泪整理最优质Fbx 3d模型素材,你想要的这里都有

    今天小编针对Fbx 3d模型素材为大家整理了很多内容哦 肯定有需要的小伙伴吧 实用 免费 优质的素材谁又不心动呢 赶紧码住 接下来就给大家介绍一下我珍藏已久的网站 我的工作灵感都是来源它哦 里面的Fbx 3d模型资源数量多 种类丰富 并且每
  • Ubuntu16.04搭建Fabric1.4环境

    一 换源 为了提高下载速度 将ubuntu的源改成国内的源 推荐阿里云源和清华源 apt源保存在 etc apt sources list 代表根目录 etc 这个文件夹几乎放置了系统的所有配置文件 1 备份 sudo cp etc apt
  • shell基础+强化

    shell脚本 一 shell介绍 什么是shell shell功能 1 什么是shell shell是一个程序 采用C语言编写 是用户和Linux内核沟通的桥梁 它既是一种命令语言 又是一种解释性的编程语言 通过一个图标来查看以下设立了的
  • Codeforces 1469 F. Power Sockets —— 二分+线段树,贪心

    This way 题意 现在有一个根节点 和n条包含a i 个节点的链 一开始所有点的颜色是白色的 你每次可以做以下操作 找到树中某个白色节点 拿出一条链 将这个节点和链上某个节点连接 并且这两个点的颜色变成黑色 之后这条链属于树中一个部分
  • 正则表达式中的“^“这个符号的一些思考

    在学习正则表达式的时候 一些常见的规则我们都不难理解 但是有 一个正则表达式中的特殊字符让我一直有点搞不懂 就是 这个字符 文档上给出了解释是匹配输入的开始 如果多行标示被设置成了true 同时会匹配后面紧跟的字符 比如 A 会匹配 An
  • A Survey of Knowledge-Enhanced Pre-trained Language Models

    本文是LLM系列的文章 针对 A Survey of Knowledge Enhanced Pre trained Language Models 的翻译 知识增强的预训练语言模型综述 摘要 1 引言 2 背景 3 KE PLMs用于NLU
  • Java多线程:解决高并发环境下数据插入重复问题(干货)

    每日一更 最近的问题真是一个接一个 真的让人头大 昨天遇到一个多线程的问题问题描述一下 有一个线程的问题 就是假如 我有一个文件 然后这个文件有很多条数据 假如有两个字段 一个学号一个钱 我的需求是 读取文件 把数据插入到表里 先拿文件的学
  • C# 获取电脑CPU序列号

    ManagementClass 的作用域为 System Management 命名空间 System Management private static string GetCPUSerialNum string cpuSerialNum
  • FRP-内网穿透-frps服务端-WEB管理面板-Dashboard

    FRP 内网穿透 frps服务端 WEB管理面板 Dashboard 1 启动云服务端frps 2 修改配置文件 3 启动 刷新服务 4 异常处理 5 SSH web服务 管理界面 DNS Unix 文件服务 https 安全暴露 点对点内
  • C/C++编译时的Link.EXE错误问题与解决方法

    C C 编译时的Link EXE错误问题与解决方法 作者 Acharlix 1 LIBCD lib wincrt0 obj error LNK2001 unresolved external symbol WinMain 16 问题描述er