在开始这个话题之前,非常想吐槽一下VS 2010,因为今天在封装一个静态库时就出现了这个情况,之前也是遇到过这个情况,以为是跟以往出现的情况是一样的,按照着往常的解决思路查找了一遍问题所在,发现完全没有问题啊,冥思苦想了大半天,换了N种骚操作外加三千青丝又掉了不少,我终于是发现了问题所在,忍不住的爆了个粗口,坑爹的VS。直接进入正题,将我所遇到过出现这个请况的原因和解决方法一一道来。

1.引入第三方库时出现

在引入第三方库是,需要指定依赖项配置,若没有这些配置,就会出现LINK2001的错误。

这是最常见的错误了,配置步骤如下:
项目》》属性》》链接器》》常规》》添加附加库目录 ,添加第三方库所在的目录
项目》》属性》》链接器》》输入》》附加依赖项, 写入第三方库的名称

2.被引入的库和引入的库的编译平台不一致

引入的库和被引入的库的编译平台不一致,就比如一个在VS2010编译生成的库,一个是在VS2008编译生成的库,就可能导致该问题出现。

3.引入第三库时是否有添加第三方库指定的编译宏

这中情况的出现,往往是引入别人的库所导致的,因要了解是否需要该库指定编译宏

4.我所遇到的坑爹情况,静态库编译时生成的.obj是其他项目的信息

之前说过我是为了封装静态库给动态库来使用的,我没有重新新建一个项目,而是直接复制在该工程下之前我做过得静态库项目,就这样我新的静态库封装好了,编译也成功了,看似好像是啥问题都没有了,可以给在动态库里引用了,看来今天是可以按时下班了。动态库引用,编译。额,出现了这些错误提示,还好,这些以前都遇到过,咱不怕。MMMM…
大半天过去了,彻底的击碎了不加班的美梦。按照前面三种出现的原因都查找了N遍还有去查看静态库里的函数有没有正确,发现都没有问题。

究竟是咋回事呢,我抱着试一下的心态查看了静态库编译生成的.obj文件,发现提示的无法解析的变量和函数所在的.obj文件都不正常,其内容是复制的项目相对应的内容,wtf ! 怎么一回事,难道是VS抽风了咋的。话不多说,找到原因所在,就开始动手将这些文件删除再新建,然后编译链接到动态库,望着生成动态库成功的这几个,无言半天,这坑爹操作耗费了我大半天的时间。

我想了想出现的原因可能是我在该工程下,复制另一个项目作为新的项目开始造成的问题。

总结:
1、在引入第三方库时一定要设置项目的依赖项配置。
2、保证引入库和被引入库的编译平台是一致的。
3、引入的第三方库是否需要指定编译宏
4、编译的生成的.obj里面的内容是否正常。

VS 出现LIK2001:无法解析外部符号几种情况及解决办法相关推荐

  1. Error LNK2001 无法解析的外部符号 的几种情况及解决办法

    Error LNK2001 无法解析的外部符号 的几种情况及解决办法 多线程下的单例模式 这里要处理的是懒汉模式. [cpp] view plain copy  class Singleton { p ...

  2. MFC - LNK2001 “无法解析的外部符号”的几种情况及解决办法

    MFC: LNK2001 "无法解析的外部符号"的几种情况及解决办法 "Error LNK2001 无法解析的外部符号",关于这类错误的内容归纳比较齐全,就摘下 ...

  3. Java中OutOfMemoryError(内存溢出)的三种情况及解决办法

    Java中OutOfMemoryError(内存溢出)的三种情况及解决办法 相信有一定java开发经验的人或多或少都会遇到OutOfMemoryError的问题,这个问题曾困扰了我很长时间,随着解决各 ...

  4. phpstudy中mysql启动不起来的一种情况和解决办法

    文章目录 情况 错误日志 排查错误 错误1 硬盘扇区大小 导致的问题 错误2 缺少VC运行库 记录phpstudy的mysql启动不起来的一种情况及解决办法 ①首先排除了端口占用 根据错误日志,发现了 ...

  5. php 公众号 验证失败,微信公众号Token验证失败的几种情况及解决办法

    微信公众号Token验证失败的几种情况及解决办法 1. 思路看验证的文件,编码是否是:utf-8 无bom头的 2. thinkphp框架,要关闭调试模式,开启调试模式容易有错误代码出现,导致验证失败 ...

  6. 【重复提交表单】表单重复提交的三种情况,解决办法

    引入 看一个重复提交表单的例子 F12可以看到,请求体中的参数在刷新页面之后仍然保留,因此每一次刷新页面,都会把现有的请求体中的表单数据提交一次到服务器,而接收的页面还是insert.jsp,于是造成 ...

  7. wps公式如何加序号_WPS表格函数——vlookup出现错误的四种情况及解决办法

    在使用Vlookup函数时,经常会出现错误值#N/A.今天给大家讲解4种错误原因: 查找区域确实不存在查找值 1.#N/A错误通常表示公式找不到要求查找的内容,比如查询"计算机"的 ...

  8. 数据库启动报错两种情况的解决办法

    通常服务器在突然断电或者频繁关机的情况下很容易造成数据库损坏,然后启动不了数据库,针对这种情况出现最多的有两种, 其一:启动的时候数据文件损坏 这种情况比较简单, 1.  首先关闭数据库 sql> ...

  9. error:LNK2005 “*******”@@3PANA 已经在****.obj中定义的一种情况及解决办法

    VS 出现这个错误的原因主要是因为重复定义的原因,你应该找到重复定义的变量,从头文件移植到Cpp中或者把重复的变量所在头文件直接放在cpp中. 我的情况如下: 这样的一个全局变量在一个头文件中定义,比 ...

最新文章

  1. 学会这两样高级用户,让你成为 Git老手
  2. Science:一种新型玻璃,有望让手机告别碎屏!
  3. cpu线程_进程/线程上下文切换会用掉你多少CPU?
  4. 栈对象、堆对象、静态对象的比较
  5. 「C语言」数据类型及混合运算与类型转换
  6. PAT(乙级) 1002 写出这个数 (20point(s)) Python
  7. 客户端怎么远程上服务器失败,远程客户端连接不上,与服务器那台,跨网络,怎么解决...
  8. 那些年我们用过神级的代码注释
  9. juypter 不省略_常用pandas清洗数据命令
  10. Java案例:汉诺塔问题
  11. Java数据库学习之模糊查询(like )
  12. vs2017安装勾选哪些_vs2017安装以编写c语言
  13. 使用bat脚本自动打开cmd并执行命令
  14. oracle排列组合,Oracle SQL排列组合之排列问题
  15. git rebase
  16. Python爬虫入门教程【11】:半次元COS图爬取
  17. JavaScript中的eval函数
  18. Colab 快速上传数据集方法
  19. ffmpeg下载m3u8工具大全
  20. 【人工智能数学基础(三)】数学优化

热门文章

  1. 如何在三年内赚够100万
  2. idea建立java文件夹_IDEA 创建多级文件夹的操作
  3. STM32F103完成对SD卡的数据读取
  4. 数学建模:评价性模型学习——灰色关联分析法(GRA模型)
  5. Eyeshot Ultimate 2021.2 Crack
  6. npm包前的@ 是什么意思
  7. 笔记本 禁用触摸屏 USB鼠标自动禁用触摸板,拔出USB鼠标自动启用触摸板
  8. playwright--录制功能
  9. Javabase万年历
  10. html5 邮件列表,邮件列表