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 设置回调试模式。
  • 遇到与发布模式相同的编译时错误。

现在我正在修复编译时错误...