出现如下问题

(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解决方案,亲测有效相关推荐

  1. error: LNK2019与error: LNK1120可能的原因及解决方法

    今天又碰到了报错"LNK:2019"和"LNK:1120",记录一下. user_interface.obj:-1: error: LNK2019: 无法解析的 ...

  2. office2010使用mathtype时,出现未找到MathPage.WLL解决方案--亲测有用

    office2010使用mathtype时,出现未找到MathPage.WLL解决方案--亲测有用 参考文章: (1)office2010使用mathtype时,出现未找到MathPage.WLL解决 ...

  3. 解决Maven:Cannot resolve com.oracle.ojdbc:ojdbc6:11.2.0.1.0报红找不到问题,解决方案亲测有效详细图文教程 问题描述

    解决Maven:Cannot resolve com.oracle.ojdbc:ojdbc6:11.2.0.1.0报红找不到问题,解决方案亲测有效详细图文教程 问题描述 解决方法 问题描述 有小伙伴遇 ...

  4. error LNK2019:和error LNK2001:

    错误删减了一部分,出现这个问题一直以为时头文件错误,试了没用. 2>SetData.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall ...

  5. error LNK2019 ,error LNK2001:无法解析的外部符号,LINK : fatal error LNK1104: 无法打开文件

    C++ 环境下更换项目名字后报错的问题 报错内容: error LNK2019: 无法解析的外部符号 *** error LNK2001: 无法解析的外部符号 *** LINK : fatal err ...

  6. java.lang.IllegalStateException Unable to find a @SpringBootConfiguration错误解决方案(亲测)

    问题描述: java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @C ...

  7. Django - 网页加载报错:A server error occurred. Please contact the administrator(亲测)

    1.网页加载时报错显示: 2.pycharm中Terminal报错显示: 如: File "E:\flask_env\django_env\lib\site-packages\django\ ...

  8. Latex插入图片报错,解决方案亲测有效!

    在论文写作中使用Latex排版出现的图片插入错误: LaTeX Error: Cannot determine size of graphic in Figures/overall-framework ...

  9. 登录mysql 1251_Navicat 连接 MySql 报错1251解决方案(亲测)

    部门升级数据库版本: 今天下了个 MySQL8.0,发现Navicat连接不上,总是报错1251: 原因是MySQL8.0版本的加密方式和MySQL5.0的不一样,连接会报错. 从网上看了一些资料,试 ...

最新文章

  1. C++指针与地址详解 _0
  2. 风险管理、收尾管理、知识产权管理
  3. vue中Axios的封装与API接口的管理详解
  4. jgroup 概述--官方文档
  5. CMSampleBufferRef 转换为UIImage
  6. Go全局变量syntax error: non-declaration statement outside function bodygo
  7. Delphi-IOCP学习笔记三====工作线程和Listener
  8. 3分钟了解ServiceStage 应用智能化运维【华为云分享】
  9. 操作系统课程设计 Kernel编译和WinDbg启动 批处理文件
  10. 设计模式之组合模式——Java语言描述
  11. 华为CE交换机下载文件FTP步骤
  12. flash 在谷歌 不能使用
  13. 横向导航条页面居中的方法
  14. Coursera普林斯顿大学算法下Week4:Boggle 拼字游戏
  15. 【git】git 命令行删除远程仓库
  16. Xshell4连接Linux系统中文显示乱码解决办法
  17. 九龙擒庄指标源码破译_妖股出世爆发点公式?九龙擒庄指标源码破译!
  18. 阿里云领取免费2H2G云服务器&证书分享(一):Apsara Clouder云计算专项技能认证:云服务器ECS入门
  19. 通过身体跳跃和蹲伏玩chromes dino游戏
  20. 忘记无线服务器密码怎么查,wifi密码忘记了要怎么查看?

热门文章

  1. 稳控科技VM501套件单振弦式传感器采集模块支坑支护自动化岩土工程地质灾害监测
  2. 黑马程序——Gridview的认识
  3. animator android,Android动画Animator开发问题
  4. 苹果IOS应用上架遇到的问题及处理方法记录
  5. [Java Web]JDBC->Java操作MySQL数据库
  6. 一条更新SQL语句是如何执行的?
  7. python pyquery_python爬虫之pyquery学习
  8. 2019年广东工业大学新生赛 E-缺席的神官
  9. 解决win10电源设置了从不休眠,但是没有生效
  10. 【Fast RTPS】写-读层