首页 > 解决方案 > 带有 qt 的 Visual Studio 无法编译 gui 类

问题描述

我最近发现了这个允许在 Visual Studio 中使用 qt 的工具,所以我想试一试。单击此处查看我使用的工具。

所以我刚刚安装了该工具,当然还安装了 qt(版本 5.11.0),然后在 Visual Studio 中出现一个新菜单,指的是 qt,我必须在其中设置包含 qt 的路径。在此之前,在安装 qt 时,我还必须指定安装与 Visual Studio 2017 的集成(它不是默认值),这样我就可以设置路径。

这是visual studio中qt的选项

现在是问题开始的时候,我创建了一个 qt 项目并尝试编译,它工作正常,完全没有问题。但后来我尝试用助手添加一个 GUI 类并再次编译,在这种情况下,出现一些与未解析的外部符号相关的错误。

Visual Studio 错误

Q_OBJECT 的 gui 类中也有一个警告,经过一些研究,我发现这可能是问题所在,但自从我第一次使用 qt 以来,我不知道。

这是我创建的 GUI 类的代码。

#pragma once

#include <QtWidgets/qwidget.h>
#include <GeneratedFiles/ui_WindowTFG.h>

class WindowTFG : public QWidget
{
    Q_OBJECT

public:
    WindowTFG(QWidget *parent = Q_NULLPTR);
    ~WindowTFG();

private:
    Ui::WindowTFG ui;
};

这是我的visual studio和qt版本。Visual Studio 2017 15.7.1 - Qt 5.11.0

如果有人能指出我正确的方向,我将不胜感激。

标签: c++visual-studioqt

解决方案


好的,因为似乎没有人知道问题出在哪里,我会更新情况,以防万一它对某人有用。

我无法编译我的项目,但我找到了在 Visual Studio 中使用 qt 的“方法”,在你在 Visual Studio 中创建 qt 项目的那一刻,我选择了“qt 控制台应用程序”,好吧,我尝试了“qt”而不是那个选项GUI 应用程序”,它已经创建了一个带有 GUI 类的项目。这次我可以编译我的项目并像往常一样使用它,与我无法编译的类的区别是扩展名为“.qrc”的文件(除了.h、.cpp和.ui文件)所以我的猜测是因为那个丢失的文件我以前的项目工作不正常。

希望这对有类似问题的人有用。

我会暂时不解决这个问题,以防其他用户可以解释这一点。


推荐阅读