大家好,又见面了,我是你们的朋友全栈君。
- 前言,相信在使用C++编程的小伙伴都会遇到这样一个错误,在编译的时候出现Error,无法解析的外部符号,这是让人很费解的一件事情,因为不会报出哪一行出现了问题,以至于问题排查很难进行,所以为大家提供了相关解决思路,希望对大家有所帮助!
问题一 无法解析的外部符号
[问题描述]
- 在编译中遇到,viaual studio无法解析的外部符号 该符号在外部函数中被引用
[问题处理]
1. 分析问题,这个错误定义为一个:连接错误。
2. 根本原因是函数虽然申明了,但是没有定义函数的实现
3. 排查问题出现的几种情况:
可能一: 包含函数实现的cpp文件没有添加到项目中。
可能二: 生成的库文件没有链接到exe可执行文件中,排查项目中的链接库是否被添加到工程中
可能三: 函数的申明,与函数的定义有偏差
可能四:Extern了变量,但是变量未定义
问题二 error LNK1104:无法打开文件lib
[问题描述]
- 无法打开文件 ‘boost_filesystem-vc120-mt-1_56.lib’
[问题处理]
- 在项目属性中-》链接器-》常规-》附加库目录进行相关目录的设置,参考其他目录即可
问题三 debug不可以运行,release可以运行
[问题描述]
- 在使用visualstudio中出现debug不可以运行,release可以运行的状况。
[问题处理]
- 通过排查外部的链接库以及相关其他配置均没有问题,但是在编译生成文件时出现“LNK4098: 默认库“MSVCRT”与其他库的使用冲突”,通过右击工程 – 属性 ”配置属性 – 链接器 – 命令行” 添加: /NODEFAULTLIB:”libcmt.lib”该问题得到解决。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/153486.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...