C++ 无法生成quazip。moc编译器dooesn';我跑不了。命令行找不到相关的类

C++ 无法生成quazip。moc编译器dooesn';我跑不了。命令行找不到相关的类,c++,qt,visual-studio-2012,quazip,C++,Qt,Visual Studio 2012,Quazip,我刚下载了最新版本的quazip。我正在使用visual studio 2012和QT 5.1 需要三个moc文件。VisualStudio项目似乎没有创建它们。我甚至没有看到moc编译器在尝试。我试图从命令行构建它们,但最终得到的是空文件。然后链接器会产生很多这样的错误 错误LNK2001:未解析的外部符号“public:静态结构” QMetaObject常量QuaZipFile::staticMetaObject“ (?staticMetaObject@QuaZipFile@@2UQMeta

我刚下载了最新版本的
quazip
。我正在使用visual studio 2012和QT 5.1

需要三个moc文件。VisualStudio项目似乎没有创建它们。我甚至没有看到moc编译器在尝试。我试图从命令行构建它们,但最终得到的是空文件。然后链接器会产生很多这样的错误

错误LNK2001:未解析的外部符号“public:静态结构” QMetaObject常量QuaZipFile::staticMetaObject“ (?staticMetaObject@QuaZipFile@@2UQMetaObject@@B)

这是我用来运行moc编译器的命令(以及其他两个文件的类似命令):

该命令生成以下错误:

quazipfile.cpp(0):注意:未找到相关类。无输出 生成


我确实在
QuaZipFile
中看到了
Q\u对象的定义,所以它应该找到了一些东西。

我不确定您是否应该手动运行moc

您确定Visual Studio的Qt插件/加载项是最新的吗

或者,您可以只使用qmake进行编译

运行:

这将根据您的Qt SDK mkspecs生成makefiles。如果您使用的是MSVC,它应该为nmake生成一个makefile

然后,简单地键入

nmake -f Makefile 

从MSVC命令行提示符(根据编译的体系结构,您的“开始”菜单中应该有几个条目)

看起来关于执行“C:\Tools64\v2.0.6\Qt-5.1.0\bin\moc-o moc_quazipfile.cpp quazipfile.h”的建议可能有效


显然,使用最新quazip发布的visual studio项目不起作用。

宏可能在头文件中,而不是.cpp文件中。你是说我应该执行“C:\Tools64\v2.0.6\Qt-5.1.0\bin\moc-o moc\u quazipfile.cpp quazipfile.h”?当然可以!只需grep/file搜索这些宏,您就会看到它们在哪里。
qmake quazip.pro
nmake -f Makefile