moc文件生成方法,qt找不到moc_**.cpp

Qt 程序在交由标准编译器编译之前,先要使用 moc 分析 C++ 源文件。如果它发现在一个头文件中包含了宏 Q_OBJECT,则会生成另外一个 C++ 源文件。这个源文件中包含了 Q_OBJECT 宏的实现代码。这个新的文件名字将会是原文件名前面加上 moc_ 构成。这个新的文件同样将进入编译系统,最终被链接到二进制代码中去。因此我们可以知道,这个新的文件不是“替换”掉旧的文件,而是与原文件一起参与编译。

 

vs2010集成Qt后,编译无法生成moc文件,此时可以采用手动方式生成:

 

在命令行下输入moc yourfilename.h -o moc_youfilename.cpp生成不带Q_OBJENT的源文件。


 下面给出例子手动生成moc的例子:

 

1、首先在运行窗口中输入cmd

moc文件生成方法,qt找不到moc_**.cpp_第1张图片

2、在cmd中输入:cd  C:\Qt\4.7.4\bin进入Qt安装目录,如下图:

moc文件生成方法,qt找不到moc_**.cpp_第2张图片

3、输入:moc "E:\03 Code\QUnitTest\DlgFindDialog.h" -o "E:\03 Code\QUnitT

est\moc_DlgFindDialog.cpp" 后回车

moc文件生成方法,qt找不到moc_**.cpp_第3张图片

4、打开E:\03 Code\QUnitTest,moc_DlgFindDialog.cpp已经生成

5、到此moc文件已经生成完毕。

你可能感兴趣的:(C/C++,Qt)