前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >error LNK2019: 无法解析的外部符号的几种情况探讨[通俗易懂]

error LNK2019: 无法解析的外部符号的几种情况探讨[通俗易懂]

作者头像
全栈程序员站长
发布于 2022-11-08 06:58:35
发布于 2022-11-08 06:58:35
8.8K0
举报

error LNK2019: 无法解析的外部符号,这种问题在windows C++编程中,很多人应该都遇到过,那出现这个问题一般有哪些情况呢?

情况一,就是没有引入相应的lib库。这个情况是最容易想到的。对于lib库是要链接到exe程序中的,如果在链接的时候,找不到函数对应的符号所在的lib,那就会报error LNK2019: 无法解析的外部符号,有的时候还会提示,在什么地方调用了,如下所示:

error LNK2019: 无法解析的外部符号 _XXXXX,该符号在函数 _FFFFF中被引用。

如果是这种情况,只需要将相应的lib加入到工程中编译就可以了。

情况二,在一个工程中,有很多个子工程,然后,每个工程中都有一些公共的头文件,比如define.h,error.h等,当把这些合到一个工程中编译的时候,可能会把每个子工程的include目录放在附加包含目录中,这样编译的时候就有可能引用了不是它自己的文件,比如:

project/demo1/include

project/demo2/include

在这2个目录下都有error.h,然后在附件包含目录中,包含这2个目录。

而在引用的时候都是这样写:

#include <error.h>

这样在链接的时候,就存在不确定性。可能会出现,demo2引用demo1的error.h的可能。这种情况是不好查的。最近在整合一个项目就遇到这种情况,有20多个工程,都有几个相同名字的文件,编译的时候,不报错,因为那个头文件可以引用到,引用的是别的工程的,这样就找不到它的实现文件。

这个情况解决方法是,更改相同的文件名字为每个子工程自己的,让文件名在一个项目中尽量唯一。这个其实也是一个架构和设计的问题。

情况三,工程是一个目录比如,project/test/test.vcproj,而引用函数的实现目录在project/test1/file.cpp,这种情况下也会报error LNK2019: 无法解析的外部符号。

这个情况的解决方法是,将project/test1目录放到附件包含目录中。

当然,可能还有其他的情况,以后遇到再补充和完善。希望能对遇到此问题的朋友有点帮助。

,

转载请注明原创链接:http://blog.csdn.net/wujunokay/article/details/16917521

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

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/185363.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月6日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
学生成绩管理系统(C语言版)「建议收藏」
大一刚接触这个计算机专业的相关知识,就觉得这个专业很有趣。最先接触的编程语言就是C语言,想必大多数人都是如此吧。我们这个学期末,也就是期末考试结束后,开始这个实训。我也是第一次听说实训这个东西,当然可能这个实训也主要针对我们计算机专业的学生。 我们这次实训历时5天,是由公司请来的专业人员给我们进行指导的。前面几天时进行C语言基础知识的复习与巩固,后面两天就是给每个组时间,进行实训项目的制作。我们组选择的是学生成绩管理系统,这个也是比较常见的项目,有些组选择的是贪吃蛇等等。 下面给图片展示我们组的实训项目图片: 1 登录界面(确实挺简陋的)
全栈程序员站长
2022/09/06
7800
学生成绩管理系统(C语言版)「建议收藏」
学生成绩管理系统(C语言版)
C语言版学生成绩管理系统 教材里的,要提交实验报告,能实现以下功能。 #include "stdio.h" #include "stdlib.h" #include "string.h" #define MAX_LRN 10 #define STU_NUM 30 #define COURSE_NUM 6 typedef struct student { long num; char name[MAX_LRN]; float score[COURSE_NUM]; fl
繁依Fanyi
2023/05/07
1.1K0
学生成绩管理系统(C语言版)
【学生管理系统C语言】没有用数据库,正在学习C语言的看看吧
#include<stdio.h> #include<string.h> #include<stdlib.h> #include<math.h> # define SIZE1 33 # define SIZE2 7 # define PI 3.14159 struct student_grade //学生成绩 { intnum; //学号 char
赵腰静
2018/03/09
1.8K0
【C语言】学生管理系统
学生管理系统是一个用于管理学生信息、成绩、课程等数据的软件系统。在本文中,我们将使用C语言来实现一个简易的学生管理系统,包括学生信息的录入、显示、查询等功能。我们将使用文件来存储学生信息,以便实现持久化存储。
DevKevin
2024/03/19
5150
【C语言】学生管理系统
学生成绩管理系统-C语言(附源码)[通俗易懂]
链接:https://pan.baidu.com/s/13Zx6RJiUX2e0nxom22kn5A 提取码:5892
全栈程序员站长
2022/09/06
12.4K2
学生成绩管理系统-C语言(附源码)[通俗易懂]
【学生管理系统】c语言版:这是我的第一个系统程序
有时候小白或者学生自学可以试试跟着编程书打比较大的程序,我发现这样可以学到很多东西
天天Lotay
2022/12/01
3680
【学生管理系统】c语言版:这是我的第一个系统程序
按格式读写文件存取学生信息(含注释)
The conquest of today, coward lamented yesterday, idle waiting for tomorrow.
小Bob来啦
2020/12/15
8120
按格式读写文件存取学生信息(含注释)
看懂这一篇,C++也算入门了
呜呜周六要补班,只能趁着周六晚上连夜弄了一个。互动交流是我坚持下去的动力,希望可以帮到这位小伙伴哦。
用户9831583
2022/06/16
5030
看懂这一篇,C++也算入门了
C语言实现图书管理系统
相关视频——C语言课程设计实战:图书管理系统!计算机专业同学的一大难题,今天用代码实战演示,手把手带你完成!_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili
半生瓜的blog
2023/05/12
3300
C语言开发简单的学生成绩管理系统(附源码)
(2)不修改函数,仅仅修改项目的属性。因为fopen_s是一种Microsoft的函数,若纯做Windows开发则直接改为_s也无妨,但是我们尽量还是用标准C++比较好,这样代码有较好的移植性。
全栈程序员站长
2022/08/28
1.3K0
C语言开发简单的学生成绩管理系统(附源码)
【升级版学生信息管理系统&员工工资信息管理系统】+文件操作+更多细节
目录 1.功能介绍(主菜单-有什么功能)  2.结构体的定义(定义一个结构体类型) 3.主函数(如何调用分函数) 4.初始化顺序表(数组加上数组的附加信息) 5.退出程序同时保存数据到文档 6.增加员工信息 7.删除员工信息  8.按照名字查找(查询工资信息) 9. 修改员工信息 10. 按照工资排序 11.按照工号排序 12. 计算工资信息  13.打印工资信息 14. 统计员工总数 15.default语句  16.源代码 ---- 1.功能介绍(主菜单-有什么功能) 讲一下:这个0123的标号的伏
MicroFrank
2023/01/16
5240
【Python全栈100天学习笔记】Day37MySQL详解(sql语句基本操作含索引、视图、存储过程)
我们通常可以将SQL分为三类:DDL(数据定义语言)、DML(数据操作语言)和DCL(数据控制语言)。DDL主要用于创建(create)、删除(drop)、修改(alter)数据库中的对象,比如创建、删除和修改二维表;DML主要负责插入数据(insert)、删除数据(delete)、更新数据(update)和查询(select);DCL通常用于授予权限(grant)和召回权限(revoke)。
天道Vax的时间宝藏
2022/04/02
9850
【Python全栈100天学习笔记】Day37MySQL详解(sql语句基本操作含索引、视图、存储过程)
那些年我们一起忘掉的C (十七).文件读写结构体
思路比较简单和直接,主要是在巩固结构体的定义,属性的调用,基于其中部分属性值的排序,还有文件的读写方法
franket
2021/10/18
2530
c语言实现的简单学生管理系统
本文链接:https://blog.csdn.net/sakurakider/article/details/72823662
C语言中文社区
2022/05/30
4600
c语言实现的简单学生管理系统
c语言学生成绩管理系统(c语言链表实现学生管理系统)
二、目的与要求 每位学生记录包含有学号、姓名、性别、出生日期、三门功课的成绩(高等数学、大学英语、C语言)、总分和平均分 系统菜单: (1)录入学生记录 (2)添加学生记录 (3)删除学生记录 (4)修改学生记录(要求输入密码) (5)查找学生记录(按学号、按姓名) (6)按总分对记录进行降序排列 (7)将当前结果显示或打印,重新保存进数据文件中 (8)输出所有学生信息 (9)计算班级平均分 (10)修改管理员密码(未保存至文件,程序关闭后失效) (11)C语言挂科人数 (0)结束程序
全栈程序员站长
2022/07/25
4.3K0
c语言学生成绩管理系统(c语言链表实现学生管理系统)
C语言学生管理系统源代码「建议收藏」
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/128553.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/28
1.8K0
C语言学生成绩管理系统(设计报告和全部源码)「建议收藏」
实现如下功能: 1)能够实现学生成绩信息的插入、删除和修改; 2)能够实现各种查询(分别根据学生学号、姓名、课程名称等); 3)能够实现按照考试成绩、总评成绩进行排序; 4)能够查询某门课程的最高分、最低分并输出相应学生信息; 5)能够查询某门课程的优秀率(90 分及以上)、不及格率;
全栈程序员站长
2022/09/06
3.9K0
C语言学生成绩管理系统(设计报告和全部源码)「建议收藏」
用C语言写的学生成绩管理系统
#include<stdio.h> #include<stdlib.h> #include<conio.h> #include<windows.h> int n; struct student//结构体 { int xuehao; char name[20]; int score; }student[20]; //student[i].xuehao; //student[i].name; //student[i].score; int color(int c) //颜色函数 { Se
跋扈洋
2021/02/02
2.5K0
DEVC怎么建工程「建议收藏」
打开文件,选择新建–>项目–>ConsoleApplication(控制台程序),输入项目名,选择保存路径。(单独建一个文件夹存放)
全栈程序员站长
2022/09/20
7690
DEVC怎么建工程「建议收藏」
学生选课管理系统c语言课程设计_大一c语言学生选课系统代码
《学生选课管理系统c语言程序》由会员分享,可在线阅读,更多相关《学生选课管理系统c语言程序(38页珍藏版)》请在人人文库网上搜索。
全栈程序员站长
2022/11/03
1.1K0
推荐阅读
相关推荐
学生成绩管理系统(C语言版)「建议收藏」
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档