qt中编译出现无法解析的外部符号错误处理

1. 问题

LNK2019:无法解析的外部符号链接错误

2. 背景

在项目中添加新的c++类文件,然后在其他类文件中,引入这个新的c++类文件,并构造该新的c++类对象。编译时出现链接错误LNK2019:无法解析的外部符号

下面是复现步骤

1. 准备一个简单的桌面应用项目

  • 新建项目
  • 选择桌面应用程序
  • 给项目起一个名字,并设置项目本地路径
  • 选择qt编译器
  • 配置主窗口信息
  • 配置版本控制,这个不需要,这里只是测试,直接点击完成
  • 项目创建好
  • ctrl + r运行

可以运行。

2. 添加自定义的新组件

  • 项目添加新文件

  • 选中C++文件

  • 为创建的类命名

  • 版本控制,这里不需要,直接点击完成

  • 新添加的头文件

  • 新添加的源文件

3. 在主窗口中引入新添加的头文件,并在构造中创建新添加的widget

4. ctrl+b编译项目

出现链接错误 LNK2019:无法解析的外部符号

3. 解决

出现这种情况时,其实代码是没有问题的,但是就是出现这个链接错误。其实这和qt creator的构建工具有关,我们需要清理下项目,然后重新使用[qmake]构建下项目,然后再来编译我们的项目

  • 菜单栏点击构建(B),点击清理项目"Test"

  • 菜单栏点击构建(B),点击执行qmake

  • ctrl+b编译项目

链接错误消失。编译通过了,(警告可以不用管,不会影响运行)

  • ctrl+r运行项目

项目正常运行,这里看到主窗口中并没有我们添加的组件,是因为我们没有对组件配置属性,没有真正的自定义该组件,这里只是演示链接错误。

markdown 复制代码
qmake 工具有助于简化跨不同平台的开发项目的构建过程。
    它自动生成 Makefile,因此只需几行信息即可创建每个 Makefile。
    您可以将 qmake 用于任何软件项目,无论它是否使用 Qt 编写。
qmake 会根据项目文件中的信息生成一个 Makefile。
    项目文件由开发人员创建,通常很简单,但可以为复杂的项目创建更复杂的项目文件。
qmake 包含支持使用 Qt 进行开发的附加功能,自动包括 和 的构建规则。
qmake 还可以为 Microsoft Visual Studio 生成项目,而无需开发人员更改项目文件。
相关推荐
程与留2 小时前
07_QMainWindow 与应用程序框架——菜单栏、工具栏、状态栏
c++·qt
总有刁民想爱朕ha3 小时前
Python PyQt5图片批量转MP4视频工具:本地离线免费无水印,完整代码
开发语言·python·qt
十五年专注C++开发6 小时前
100w条数据丝滑滚动!Qt Model/View 架构实战(二)
开发语言·c++·qt
skr爱码士6 小时前
06_Qt 常用数据类型与容器:QString、QList、QVector、QMap 的性能与实现分析
开发语言·c++·qt
程与留1 天前
06_Qt 常用数据类型与容器:QString、QList、QVector、QMap 的性能与实现分析
数据结构·qt
zlinear数据采集卡1 天前
数据采集卡从入门到精通(38):上位机开发实战——Python/QT/LabVIEW的技术选型与分层架构
python·单片机·嵌入式硬件·qt·fpga开发·开源·labview
skr爱码士1 天前
05_Qt 核心模块概览——Qt Core、Gui、Widgets、Quick 的职责划分
c++·qt·系统架构·客户端
MOONICK1 天前
QT的UI开发框架
qt·ui
郝学胜-神的一滴1 天前
Horse3D 游戏引擎研发笔记(七):Clydesdale——从流式日志到多输出订阅
c++·qt·unity·游戏引擎·图形渲染·unreal engine·opengl
NO12122 天前
python pyqt5調用攝像頭實時顯示
开发语言·python·qt