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