error: LNK2019与error: LNK1120解决方案,亲测有效
出现如下问题
(1)仔细看蓝色圈所示:说是 ReadStep这个函数,vs能读取他所在的 .h 文件,编译的时候却找不到他的实现文件,导致出现LNK2019问题。
原因: 在一个.h 文件中使用extern声明了 ReadStep这个函数(注意:如果你没加extern,那可能是在对应的.cpp文件中,在实现该函数时你未加类的作用域也会报该错误), 如果多个.cpp都引用了这个.h文件,编译器会在这些.cpp去寻找它的实现,如果在某个CPP中这个实现被删除了,或者注释了,或者这个cpp被删除了,那么编译器会找不到报该错,实质上大部分的LNK2019问题都是能找到声明或定义,却找不到实现。
extern std::vector<Topo_Shape*> ReadStep(std::string fileName);
我在被我删除的.cpp文件里找到了该实现,从新把他写在了另一个cpp里,错误解决
std::vector<Topo_Shape*> ReadStep(std::string fileName)
{std::ifstream afile;afile.open(fileName.c_str(), std::ios::out | std::ios::in);std::ostringstream os;os << afile.rdbuf();std::string str = os.str();auto shapes = Swj_ReadSTEP(str);return shapes;
}
上图第二个错误也是蓝色宽宽里的函数未更新所致。在此记录一下错误。
!!!!!!!!!!!!
(2)顺便记录一下LNK2019无法解析外部符号的另一种可能,在一个工程里,你将某个项目运用Cmakelist编写成了动态库,另一个项目链接该动态库链接不上也会出现上述错误,
比如这里Joint_GeometryBase2d类里面的某个函数提示说连接不上,那可能是你这个类未加这个导出的宏,在Joint_GeometryBase2d前加上*__declspec(dllexport),这里我是用马赛克处的的这个宏代替了__declspec(dllexport)*,把这个类声明为导出接口,编译成动态库之后,再调用该类里函数就可以了,就可以连接上该库。
error: LNK2019与error: LNK1120解决方案,亲测有效相关推荐
- error: LNK2019与error: LNK1120可能的原因及解决方法
今天又碰到了报错"LNK:2019"和"LNK:1120",记录一下. user_interface.obj:-1: error: LNK2019: 无法解析的 ...
- office2010使用mathtype时,出现未找到MathPage.WLL解决方案--亲测有用
office2010使用mathtype时,出现未找到MathPage.WLL解决方案--亲测有用 参考文章: (1)office2010使用mathtype时,出现未找到MathPage.WLL解决 ...
- 解决Maven:Cannot resolve com.oracle.ojdbc:ojdbc6:11.2.0.1.0报红找不到问题,解决方案亲测有效详细图文教程 问题描述
解决Maven:Cannot resolve com.oracle.ojdbc:ojdbc6:11.2.0.1.0报红找不到问题,解决方案亲测有效详细图文教程 问题描述 解决方法 问题描述 有小伙伴遇 ...
- error LNK2019:和error LNK2001:
错误删减了一部分,出现这个问题一直以为时头文件错误,试了没用. 2>SetData.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall ...
- error LNK2019 ,error LNK2001:无法解析的外部符号,LINK : fatal error LNK1104: 无法打开文件
C++ 环境下更换项目名字后报错的问题 报错内容: error LNK2019: 无法解析的外部符号 *** error LNK2001: 无法解析的外部符号 *** LINK : fatal err ...
- java.lang.IllegalStateException Unable to find a @SpringBootConfiguration错误解决方案(亲测)
问题描述: java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @C ...
- Django - 网页加载报错:A server error occurred. Please contact the administrator(亲测)
1.网页加载时报错显示: 2.pycharm中Terminal报错显示: 如: File "E:\flask_env\django_env\lib\site-packages\django\ ...
- Latex插入图片报错,解决方案亲测有效!
在论文写作中使用Latex排版出现的图片插入错误: LaTeX Error: Cannot determine size of graphic in Figures/overall-framework ...
- 登录mysql 1251_Navicat 连接 MySql 报错1251解决方案(亲测)
部门升级数据库版本: 今天下了个 MySQL8.0,发现Navicat连接不上,总是报错1251: 原因是MySQL8.0版本的加密方式和MySQL5.0的不一样,连接会报错. 从网上看了一些资料,试 ...
最新文章
- C++指针与地址详解 _0
- 风险管理、收尾管理、知识产权管理
- vue中Axios的封装与API接口的管理详解
- jgroup 概述--官方文档
- CMSampleBufferRef 转换为UIImage
- Go全局变量syntax error: non-declaration statement outside function bodygo
- Delphi-IOCP学习笔记三====工作线程和Listener
- 3分钟了解ServiceStage 应用智能化运维【华为云分享】
- 操作系统课程设计 Kernel编译和WinDbg启动 批处理文件
- 设计模式之组合模式——Java语言描述
- 华为CE交换机下载文件FTP步骤
- flash 在谷歌 不能使用
- 横向导航条页面居中的方法
- Coursera普林斯顿大学算法下Week4:Boggle 拼字游戏
- 【git】git 命令行删除远程仓库
- Xshell4连接Linux系统中文显示乱码解决办法
- 九龙擒庄指标源码破译_妖股出世爆发点公式?九龙擒庄指标源码破译!
- 阿里云领取免费2H2G云服务器&证书分享(一):Apsara Clouder云计算专项技能认证:云服务器ECS入门
- 通过身体跳跃和蹲伏玩chromes dino游戏
- 忘记无线服务器密码怎么查,wifi密码忘记了要怎么查看?