关于QT程序编译时Undefined reference to的问题

作者在新建的QTTestTableView项目中尝试添加正式项目DLModel中的文件,但编译时遇到找不到DataInfo类的错误。问题在于TestTableView项目未记录新添加的类文件。解决办法是将相关类文件全部添加到项目并更新.pro文件,确保项目知道文件位置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

新建了一个QT测试项目,想着直接使用正式项目中的一些文件,这样一旦发现源码有问题,可以随时把正式项目中的一并修改了,不用再改第二次(前提是保证在测试项目中修改完文件以后,正式项目中依赖于该文件的地方不受太大影响)。我的操作是,直接在新的测试项目中右键—添加现有文件,并选择正式项目中的对应文件,添加即可。但是在编译的时候,提示错误,如下图所示。

我新建的项目是TestTableView项目,正式项目是DLModel项目,现在是从DLModel项目中添加了mysql.h和mysql.cpp,编译的提示找不到DataInfo这个类,但是我在mysql.h文件中已经添加了头文件#include “../Beans/datainfo.h”,而且路径是没问题的,按理说应该可以找到的,如下图所示。

这个地方忽略了一个问题,在物理路径中是可以找到Datainfo这个类文件的,但是TestTableView项目它是没有关于Datainfo这个类文件记录的,也就是说在它的记忆库中,搜索不到这个文件,所以就会提示错误。也就是说,你除了把文件放在某个地方以外,还得告诉项目这个文件放在哪了

解决办法

方法很简单,只需要把Datainfo这个类相关的文件,都在通过TestTableView项目右键添加进来即可,如图所示,这样在项目文件.pro中就可以找到关于这些类的记录了,再重新编译就没问题了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值