0

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

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

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

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

C:\Tools64\v2.0.6\Qt-5.1.0\bin\moc -o moc_quazipfile.cpp quazipfile.cpp

该命令生成以下错误:

quazipfile.cpp(0):注意:没有找到相关的类。没有产生输出。

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

4

2 回答 2

0

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

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

于 2018-06-01T17:10:59.150 回答
0

我不确定你应该手动运行 moc ...

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

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

跑:

qmake quazip.pro

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

然后,只需键入

nmake -f Makefile 

从 MSVC 命令行提示符(您的开始菜单中应该有几个条目,具体取决于您正在编译的体系结构)

于 2018-06-01T13:43:28.380 回答