繁体   English   中英

构建期间的 Q_OBJECT 宏问题

[英]Q_OBJECT macro issue during build

我正在使用QT进行项目。 为了将它与 premake 链接,我克隆了生成 QT 解决方案premake-qt的插件。 一般来说,在使用 qt 时效果很好。 但我需要创建自定义信号,为此,我必须在我的 header 文件中添加Q_OBJECT 这是文件:

#pragma once
#ifndef _WINDOW_H_
#define _WINDOW_H_

#include <QApplication>
#include <QWidget>
#include <QPushButton>
#include <QProgressBar>
#include <QSlider>
#include <QFileDialog>
#include <QtDebug>
#include <QFile>
#include <QTextStream>
#include <QMenu>

class WindowUI : public QWidget
{
    Q_OBJECT

    enum class State {
        Save = 0,
        Export = 1,
    };
... // rest of header

所以没有Q_OBJECT一切正常,但是当我用它构建时,我有一个错误。

>Moc'ing Window.h
>the specified path cannot be found.

我发现它在 vscode 树中生成了moc_Window.argsmoc_Window.cpp.cpp不在我的工作目录中。 如果需要,我可以提供我的premake.lua配置文件,如果缺少某些东西,我会在其中链接 QT。 添加Q_OBJECT时是否必须在我的项目上运行qmake 树

尝试从 VS 项目中删除 class 并将其添加回来。 在将普通 class 更改为基于 QObject(包括 Q_OBJECT 宏)时,我遇到了类似的问题。 我认为这个问题与 Qt VS 插件如何进行 moc'cing 有关。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM