Qt 5.1.0 for Windows 32位(VS 2010,505 MB)不起作用

时间:2013-07-25 05:30:25

标签: qt qt5

我已经下载了四个Qt 5.1.0软件包:

Qt 5.1.0 for Windows 32-bit(MinGW 4.8,OpenGL,666 MB)

Qt 5.1.0 for Windows 32-bit(VS 2010,505 MB)

Qt 5.1.0 for Windows 64-bit(VS 2012,525 MB)

Qt 5.1.0 for Windows 64-bit(VS 2012,OpenGL,522 MB)

安装完所有这四个软件包后,我创建了一个非常简单的软件包 QT项目使用 Qt 5.1.0 for Windows 32位(VS 2010,505 MB)

该项目是一个带有ui表格的Qt gui应用程序。我创建它只是按照 Qt Creator的模板没有输入任何单词。之后我建立了这个项目 并且运行,一切都很好。

然后我在项目中添加了一个新的C ++类。添加的C ++类的基类是QWidget。 这次,我仍然没有在.cpp和.h文件中输入任何单词。所以增加了课程 仅由Qt Creator创建。之后,我再次构建了这个项目,然后运行, 一切都还行。

现在我开始添加我的代码了。 我在mainwindow.h中添加了一行:

#include "myclass.h"

然后我在mainwindow.cpp中添加了另一行:

pMyClass = new CMyClass(this);

之后我再次构建了这个项目,这次发生了两次错误。

error LNK2001: unresolved external symbol public: __thiscall CMyClass::CMyClass(class QWidget *)" (??0CMyClass@@QAE@PAVQWidget@@@Z)

error LNK1120: 1 unresolved externals

我使用另外三个Qt版本构建了相同的项目:

Qt 5.1.0 for Windows 32-bit(MinGW 4.8,OpenGL,666 MB)

Qt 5.1.0 for Windows 64-bit(VS 2012,525 MB)

Qt 5.1.0 for Windows 64-bit(VS 2012,OpenGL,522 MB)

构建和运行都是成功的。一切都好。

因为我的项目可以使用

成功构建并运行

Qt 5.1.0 for Windows 32-bit(MinGW 4.8,OpenGL,666 MB)

Qt 5.1.0 for Windows 64-bit(VS 2012,525 MB)

Qt 5.1.0 for Windows 64-bit(VS 2012,OpenGL,522 MB)

我很确定我的项目没有任何问题。

仅使用 Qt 5.1.0 for Windows 32位(VS 2010,505 MB)错误。

我对结果感到困惑。我检查了构建目录,发现 VS 2010 没有编译mycalss.cpp!所有其他三个构建目录都有.obj文件 或.o文件的myclass。所以当链接时,错误发生了。

我的系统是Windows7 64位旗舰版。有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

如果您向项目添加新文件(类),请通过上下文菜单手动调用“运行qmake”项目。此操作会创建新的“生成文件”,现在包含新添加的文件。当* .pro文件发生更改时,必须自动执行所有这些操作。
由于哪个原因在这个版本中不能自动工作Qt我不知道(((。