无法解析外部符号

无法解析外部符号本人在写qt工程的时候遇到无法解析外部符号原因:只写了类声明,但还没有写实现类,造成调用时无法解析。解决方法,把还没有实现类的声明给注释掉。参考博客无法解析的外部符号考虑可能的原因:[0]出现无法解析可能是因为lib文件不正确,比如64位的编译配置,结果使用的是32位的lib包.[1]只写了类声明,但还没有写实现类,造成调用时无法解析[2]声明和定义没有统一,造成链接不一致,无法

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

这里写图片描述

本人在写qt工程的时候遇到无法解析外部符号
原因:只写了类声明,但还没有写实现类,造成调用时无法解析。
解决方法,把还没有实现类的声明给注释掉。

这里写图片描述

参考博客无法解析的外部符号

考虑可能的原因:
[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/153449.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C++ filesystem

    C++ filesystem命名空间:std::tr2::sys头文件:#include1.路径或文件是否存在templateinlineboolexists(constPath&Pval);std::tr2::sys::pathmyfile(R”(D:\胡军军\TestStatu.xm)”); if(std::tr2::sys::exists(myfile)){  

    2025年6月8日
    0
  • git修改gitignore不生效_github ignore

    git修改gitignore不生效_github ignore前言我在项目中采用Github代码托管仓库,由于部分项目文件,比如数据库文件不需要上传到网上,需要配置.gitignore文件,也就可以忽略版本控制,意思就是不上传它们。但是有一些文件一开始是期望忽略的,后来还是希望加入版本控制,上传到网上。不过直接从.gitignore文件中把它们移出来并不能解决问题,这些文件还是无法上传。百度的解决方式都大同小异,但是都有一个…

    2022年8月30日
    0
  • 散列冲突

    散列冲突概念:如果当一个元素被插入时与一个已经插入的元素散列到相同的值,那么就会产生冲突,这个冲突需要消除。解决这种冲突的方法有几种:本章介绍两种方法:分离链接法和开放定址法1.分离链接法    其做法就是将散列到同一个值得所有元素保留到一个表中。我们可以使用标准库的实现方法。如果空间很紧(因为表是双向链表的并且浪费空间)。为执行一次查找,我们使用散列函数来确定是那一个链表,然后我们在被确定的链表

    2022年5月14日
    56
  • 日本樱花免费docker部署教程

    点击查看视频教程樱花的注册地址:https://app.arukas.io/注册完登陆创建实例点击查看视频教程镜像选择:qiangweizhang/mysqlserver选择的镜像必须是dockerhub的参考线面信息填写表单增加一个端口映射3306(也是你将要使用的端口)mysql默认端口然后创建实例然后运行使用navicat…

    2022年4月4日
    65
  • 前端进大厂难吗_java程序员怎么才能进大厂

    前端进大厂难吗_java程序员怎么才能进大厂冰河肝了一个月整理的并发编程知识体系,这应该是全网最全的并发编程知识体系了,学完进大厂不再难,强烈建议收藏!!

    2022年8月22日
    4
  • shell日期循环[通俗易懂]

    shell日期循环[通俗易懂]1. vitest.sh2.#!/bin/shstartdate=`date-d”$1″+%Y-%m-%d`enddate=`date-d”$2″+%Y-%m-%d`while[[$startdate<$enddate]]doecho"########$startdate#########"startdate=`dat

    2022年7月24日
    4

发表回复

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

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