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

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

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

est\moc_DlgFindDialog.cpp" 后回车

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

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

猜你喜欢

转载自blog.csdn.net/luchengbiao/article/details/81127675