带有 qt 的 Visual Studio 无法编译 gui 类

Posted

技术标签:

【中文标题】带有 qt 的 Visual Studio 无法编译 gui 类【英文标题】:Visual Studio with qt fails to compile gui class 【发布时间】:2018-06-03 09:56:40 【问题描述】:

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

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

Here is the options of qt in visual studio

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

Visual Studio errors

在 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

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

【问题讨论】:

您是否有.lib 文件需要在链接器中添加> 项目属性中的输入? @Paul 我没有任何 .lib 文件,因为 Visual Studio 已经处理了与 qt 的连接,您只需要在 Visual Studio 选项中包含 qt 目录的路径,就像我展示的那样。 【参考方案1】:

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

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

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

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

【讨论】:

以上是关于带有 qt 的 Visual Studio 无法编译 gui 类的主要内容,如果未能解决你的问题,请参考以下文章

在 Visual Studio 中使用 Qt 远程对象(带有 qt 插件)

如何在 Visual Studio 2010 中设置 Qt 路径?

使用 Visual Studio 2013 安装 Qt [关闭]

在 Visual Studio 中将自定义代码添加到 Qt UIC 生成的文件

Qt:使用 Visual Studio 进行单元测试

如何在 Visual Studio 2010 Express 中将 cpp 编译为 dll