vs2010中自动生成Qt的moc文件的方法

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

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


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

 
1、首先在运行窗口中输入cmd
vs2010中自动生成Qt的moc文件的方法_第1张图片

2、在cmd中输入:cd   C:\Qt\4.7.4\bin进入Qt安装目录,如下图:
vs2010中自动生成Qt的moc文件的方法_第2张图片

3、输入:moc "E:\03 Code\QUnitTest\DlgFindDialog.h" -o "E:\03 Code\QUnitT
est\moc_DlgFindDialog.cpp" 后回车
vs2010中自动生成Qt的moc文件的方法_第3张图片

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



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

转;http://blog.sina.com.cn/s/blog_a459dcf50101ded1.html

你可能感兴趣的:(VS2010,qt,VC,moc)