无法构建 quazip。MOC 编译器不会运行。命令行未找到相关类

Unable to build quazip. moc compiler dooesn't run. Command line finds no relevant classes

本文关键字:命令行 运行 构建 quazip MOC 编译器      更新时间:2023-10-16

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

需要三个 moc 文件。Visual Studio项目似乎没有创建它们。我什至没有看到 moc 编译器尝试。我尝试从命令行构建它们,但最终得到了空文件。然后,链接器会生成大量此类错误

错误 LNK2001:未解析的外部符号"公共:静态结构 QMetaObject const QuaZipFile::staticMetaObject" (?staticMetaObject@QuaZipFile@@2UQMetaObject@@B(

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

C:Tools64v2.0.6Qt-5.1.0binmoc -o moc_quazipfile.cpp quazipfile.cpp

该命令生成以下错误:

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

我确实在QuaZipFile看到了Q_OBJECT定义,所以它应该找到一些东西。

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

您确定Visual Studio的Qt插件/插件是最新的吗?

或者,你可以使用 qmake 进行编译。

跑:

qmake quazip.pro

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

然后,只需键入

nmake -f Makefile 

从 MSVC 命令行提示符(开始菜单中应有多个条目,具体取决于要编译的体系结构(

看起来关于"C:\Tools64\v2.0.6\Qt-5.1.0\bin\moc -o moc_quazipfile.cpp quazipfile.h"的建议可能已经奏效。

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