关于各种无法解析的外部符号问题的相应解决方案

关于各种无法解析的外部符号问题的相应解决方案在使用vs2008调试程序的过程中,经常会出现无法解析的外部符号问题,可能的原因有很多种,下面这些是我一年来积累的经验.仅供参考.考虑可能的原因:[0]出现无法解析可能是因为lib文件不正确,比如64位的编译配置,结果使用的是32位的lib包.[1]只写了类声明,但还没有写实现类,造成调用时无法解析[2]声明和定义没有统一,造成链接不一致,无法解析[3]没有在项目属性页的链接器的

大家好,又见面了,我是你们的朋友全栈君。

在使用vs2008调试程序的过程中,经常会出现无法解析的外部符号问题,可能的原因有很多种,下面这些是我一年来积累的经验.
仅供参考.

考虑可能的原因:
[0]出现无法解析可能是因为lib文件不正确,比如64位的编译配置,结果使用的是32位的lib包.
[1]只写了类声明,但还没有写实现类,造成调用时无法解析
[2]声明和定义没有统一,造成链接不一致,无法解析
[3]没有在项目属性页的链接器的命令行选项加入相应的类包。
[4]没有在c++包含目录和库目录加入相应的类包路径
[5]在测试工程中被测文件目录可能需要包含被测类的cpp定义文件
[6]ICE接口测试时,无法解析可能因为被测文件没有包含进相关的cpp文件,另外,在TestSuite_ProjectRun.h文件中需要包含IProjectRun.h头文件,及相关的头文件(举例)。
[7]import相关的无法解析内容,解决办法是在链接器的依赖项中加入相应的动态库
[8]出现如下错误的原因一般是动态库没有包进来。__imp
ProjectRun.obj : error LNK2019: 无法解析的外部符号 __imp__StartHistoryLocalModule,该符号在函数 “protected: virtual int __thiscall HiRTDB::CProjectRun::DoStart(void)” (?DoStart@CProjectRun@HiRTDB@@MAEHXZ) 中被引用
[9]error LNK2001: 无法解析的外部符号 __imp___CrtDbgReportW
工程属性,C/C++,代码生成,运行时库选择MDd,
[9]无法解析的外部符号”_declspec(dllimport) public: int __thiscall HiRTDB::CTagTree::GetObjectA(int,struct HiRTDB::SBaseReadProps const &,struct HiRTDB::SBaseReadValues &)” (__imp?GetObjectA@CTagTree@HiRTDB@@QAEHHABUSBaseReadProps@2@AAUSBaseReadValues@2@@Z),该符号在函数”public: int __thiscall HiRTDB::CStringImpl::Get(int,struct HiRTDB::SStringReadProps const &,struct HiRTDB::SStringReadValues &)” (?Get@CStringImpl@HiRTDB@@QAEHHABUSStringReadProps@2@AAUSStringReadValues@2@@Z) 中被引用
原因可能是工程配置文件中有多余选项,请参考其他模块的配置选项,不要有多余配置。

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

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

(0)
上一篇 2022年6月28日 下午4:36
下一篇 2022年6月28日 下午4:36


相关推荐

  • .NET .cshtml乱码 代码丢失

    .NET .cshtml乱码 代码丢失见了鬼莫名其妙的代码自己乱码丢了!!!之前有同事说他碰见过这个问题,但是是在电源断电VS没有保存的时候发生的。我这什么都没碰就睡了一觉起来代码丢了解决方案:只能回滚代码发生原因推测:之前架设SVN的时候.CSHTML的文件类型是一个特殊类型,不跟正常的htmlcsjava什么的一样,这次乱码很可能跟vs自己读取这个文件类型的方式有关系。

    2022年6月22日
    37
  • 过采样和欠采样_欠采样有几种情况

    过采样和欠采样_欠采样有几种情况一、采样定理只要采样频率高于信号最高频率的两倍,就可以从采样信号中恢复出原始信号。二、过采样和欠采样1、采样频率高于信号最高频率的两倍,这种采样被称为过采样。2、采样频率低于信号最高频率的两倍,这种采样被称为欠采样。三、基带信号和频带信号的采样1、对基带信号进行欠采样是无法从采样信号中恢复出原始信号的,因此基带信号的采样都是过采样。 2、对频带信号进行采样可以是…

    2025年8月24日
    10
  • jdk8对应的eclipse版本_MyEclipse安装

    jdk8对应的eclipse版本_MyEclipse安装myeclipse10安装包(64位)下载:链接:https://pan.baidu.com/s/1zFnRd4IIpjSK9c7hB6F5Ig提取码:0uqv

    2026年4月13日
    7
  • Android与服务端使用Https加密通信

    Android与服务端使用Https加密通信

    2022年3月7日
    49
  • java数组的声明_Java数组定义常用方法[通俗易懂]

    java数组的声明_Java数组定义常用方法[通俗易懂]Java数组定义常用方法Java中的数组、是一种简单的线性数据存储结构、他用牺牲自动扩展大小来换取与集合相比的唯一优势——查询效率的提升。Java中的数组有什么类型?我们要怎么定义这些数组呢?下面跟yjbys小编一起来学习Java数组定义常用方法吧!java中有两种数据类型:a)引用类型b)基础类型其中基础类型又有两种:b1)数值类型b2)及布尔类型。数组——也为java的一个数据类型、归类为引用…

    2022年6月2日
    49
  • Pacemaker详解

    Pacemaker详解一 前言 云计算与集群系统密不可分 作为分布式计算和集群计算的集大成者 云计算的基础设施必须通过集群进行管理控制 而作为拥有大量资源与节点的集群 必须具备一个强大的集群资源管理器 Clustersyste CSM 来调度和管理集群资源 对于任何集群而言 集群资源管理器是整个集群能够正常运转的大脑和灵魂 任何集群资源管理器的缺失和故障都会导致集群陷人瘫痪混乱的状态 Openstack 的众多组件服务既可以集成到单个节点上运行 也可以在集群中分布式运行 但是 要实现承载业务系统的高

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号