问题描述
我正在使用 'a -> 'a -> int
处理一个项目。为了将它与 premake 联系起来,我克隆了生成 QT 解决方案 premake-qt 的插件。一般在使用 qt 时它工作正常。
但我需要创建自定义信号,为此,我必须在头文件中添加 QT
。
这是文件:
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
我发现它在 vscode 树中生成了一个 >Moc'ing Window.h
>the specified path cannot be found.
和一个 moc_Window.args
,但是 moc_Window.cpp
不在我的工作目录中。
如果需要,我可以提供我的 .cpp
配置文件,如果缺少某些内容,我可以在其中链接 QT。
添加 premake.lua
时是否必须在我的项目上运行 qmake
?
解决方法
尝试从 VS 项目中删除该类并将其添加回来。在将普通类更改为基于 QObject(包括 Q_OBJECT 宏)时,我遇到了类似的问题。我认为这个问题与 Qt VS 插件如何进行模拟有关。