原文链接:http://blog.sina.com.cn/s/blog_a459dcf50101ded1.html
Qt 程序在交由标准编译器编译之前,先要使用 moc 分析 C++ 源文件。如果它发现在一个头文件中包含了宏 Q_OBJECT,则会生成另外一个 C++ 源文件。这个源文件中包含了 Q_OBJECT 宏的实现代码。这个新的文件名字将会是原文件名前面加上 moc_ 构成。这个新的文件同样将进入编译系统,最终被链接到二进制代码中去。因此我们可以知道,这个新的文件不是“替换”掉旧的文件,而是与原文件一起参与编译。在命令行下输入moc yourfilename.h -o moc_youfilename.cpp生成不带Q_OBJENT的源文件。
1、首先在运行窗口中输入cmd
2、在cmd中输入:cd G:\Qt\moc进入moc的目录,如下图:
3、输入:moc "G:\Qt\moc\finddialog.h" -o "G:\Qt\moc\moc_finddialog.cpp
" 后回车
![]()
![]()
4、打开G:\Qt\moc,moc_finddialog.cpp已经生成
5、到此moc文件已经生成完毕。