我刚刚下载了最新版本的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项目不起作用。