vs2010中自动生成Qt的moc文件的方法
2015-05-04 15:58
1376 查看
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
![](http://img.blog.csdn.net/20150507081820051?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYnpoeHVleGk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2、在cmd中输入:cd C:\Qt\4.7.4\bin进入Qt安装目录,如下图:
![](http://img.blog.csdn.net/20150507081830393?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYnpoeHVleGk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
3、输入:moc "E:\03 Code\QUnitTest\DlgFindDialog.h" -o "E:\03 Code\QUnitT
est\moc_DlgFindDialog.cpp" 后回车
![](http://img.blog.csdn.net/20150507081837913?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYnpoeHVleGk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
4、打开E:\03 Code\QUnitTest,moc_DlgFindDialog.cpp已经生成
![](http://img.blog.csdn.net/20150507081845135?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYnpoeHVleGk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
5、到此moc文件已经生成完毕。
转;http://blog.sina.com.cn/s/blog_a459dcf50101ded1.html
程序在交由标准编译器编译之前,先要使用 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
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文件已经生成完毕。
转;http://blog.sina.com.cn/s/blog_a459dcf50101ded1.html
相关文章推荐
- vs2010中moc文件生成方法,qt找不到moc_**.cpp
- VS+QT混合编程中 自动生成Qt的moc文件的方法
- vs2010中moc文件生成方法(含有截图)
- VS 下Qt工程不能生成moc文件的解决方法
- 手动生成Qt的moc文件的方法
- qt-vs2010 手动添加新的qt类时,无法生成moc文件的解决
- 消除VS2010创建C/C++项目时自动生成的臃肿文件的方法
- 最新版本OBS--moc文件自动生成的方法
- VS下QT工程不能生成moc文件的解决方法
- vs中结合Qt的UI文件生成moc文件的方法
- vs2010中moc文件生成方法
- vs2010中moc文件生成方法
- vs2010中moc文件生成方法(含有截图)
- Qt自动生成moc文件
- (转) 自动编译iOS工程,生成app及ipa文件的方法
- 导入android项目,无法自动生成R文件的解决方法(Unable to resolve target 'android-7')
- qt 手动生成moc 文件
- 【win7死机解决自动生成错误文件的设置方法】
- Qt由ui文件生成.h和.cpp文件的方法
- [QT]moc生成文件分析