Qt 5 中源代码外构建的链接器错误
Linker error with out of source build in Qt 5
我在链接测试项目时遇到问题;这是错误:
DataGUI.obj:-1: error: LNK2019: unresolved external symbol "public: __cdecl GuiUtilities::TreeModel::TreeModel(class QObject *)" (??0TreeModel@GuiUtilities@@QEAA@PEAVQObject@@@Z) referenced in function "public: __cdecl GuiUtilities::DataGUI::DataGUI(class QWidget *)" (??0DataGUI@GuiUtilities@@QEAA@PEAVQWidget@@@Z)
File not found: DataGUI.obj
The process "C:\Qt\Tools\QtCreator\bin\jom.exe" exited with code 2.
Error while building/deploying project DataGUI (kit: Desktop Qt 5.8.0 MSVC2015_64bit)
The kit Desktop Qt 5.8.0 MSVC2015_64bit has configuration issues which might be the root cause for this problem.
目标文件 'DataGUI.obj' 确实存在。
我正在进行源代码外构建,因此:
./Project/sources
./Project/*.pro
./Build/build-Project-.../Debug/DataGUI.obj
使用完全相同的配置,我已经成功构建了其他Qt项目。
此问题已部分解决,但我将此问题留作参考,以防其他人发生同样的事情。
这是事件的顺序:
- 在调试模式下使用 IDE。
- 编译的程序没有任何errors/warnings。
- 我收到了问题中报告的链接器错误。
- 多次尝试重建整个项目,但均未成功。
- 将 IDE 设置为释放模式。
- 有很多编译时错误。
- 将 IDE 设置回调试模式。
- 遇到与发布模式相同的编译时错误。
现在我正在修复编译时错误...
我在链接测试项目时遇到问题;这是错误:
DataGUI.obj:-1: error: LNK2019: unresolved external symbol "public: __cdecl GuiUtilities::TreeModel::TreeModel(class QObject *)" (??0TreeModel@GuiUtilities@@QEAA@PEAVQObject@@@Z) referenced in function "public: __cdecl GuiUtilities::DataGUI::DataGUI(class QWidget *)" (??0DataGUI@GuiUtilities@@QEAA@PEAVQWidget@@@Z)
File not found: DataGUI.obj
The process "C:\Qt\Tools\QtCreator\bin\jom.exe" exited with code 2.
Error while building/deploying project DataGUI (kit: Desktop Qt 5.8.0 MSVC2015_64bit)
The kit Desktop Qt 5.8.0 MSVC2015_64bit has configuration issues which might be the root cause for this problem.
目标文件 'DataGUI.obj' 确实存在。
我正在进行源代码外构建,因此:
./Project/sources
./Project/*.pro
./Build/build-Project-.../Debug/DataGUI.obj
使用完全相同的配置,我已经成功构建了其他Qt项目。
此问题已部分解决,但我将此问题留作参考,以防其他人发生同样的事情。
这是事件的顺序:
- 在调试模式下使用 IDE。
- 编译的程序没有任何errors/warnings。
- 我收到了问题中报告的链接器错误。
- 多次尝试重建整个项目,但均未成功。
- 将 IDE 设置为释放模式。
- 有很多编译时错误。
- 将 IDE 设置回调试模式。
- 遇到与发布模式相同的编译时错误。
现在我正在修复编译时错误...