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 生成项目,而无需开发人员更改项目文件。