程序让生活更美好
半亩方塘 天光云影
C++博客
:: ::
新随笔
::
联系
:: ::
管理
::
55 随笔 :: 4 文章 :: 202 评论 :: 0 Trackbacks
公告
本人文章,随便转载
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(11)
给我留言
查看公开留言
查看私人留言
随笔分类
(58)
Boost
(rss)
c/c++(28)
(rss)
Office
(rss)
Other(9)
(rss)
QT(8)
(rss)
STL(1)
(rss)
Templates(1)
(rss)
Tools(3)
(rss)
UNIX(8)
(rss)
文章分类
(4)
SQLite(4)
(rss)
c++
STL中文站
Boost
C/C++ Reference
cplusplus
最新随笔
1. 在windows环境中配置go语言开发环境
2. Qt程序Release模式编译
3. 使用jpeglib库实现bmp转jpg (转)
4. VC6.0下的GDI+配置(转)
5. Linux下QT程序字体设定错误造成程序中文乱码
6. C 代码优化(转)
7. C 高效编程忠告(转)
8. UNIX下编译SQLite3.3.6
9. *.bff文件的安装
10. 重装系统后ORACLE的恢复的几种方法(转载)
11. Solaris环境下编译头文件的注意事项
12. 简单介绍UNIX下编写定时器程序
13. 主流UNIX命令对比表
14. XMananger不能登录AIX的问题分析
15. AIX中的inittab 文件(转)
16. crontab命令详解(转帖)
17. QT Designer中安装QWT插件
18. C实现转动的短棒
19. C语言获取目录中文件名
20. Broadcom NetXtrem II网卡Linux安装指南(转载)
积分与排名
积分 - 269689
排名 - 95
最新随笔
1. 在windows环境中配置go语言开发环境
2. Qt程序Release模式编译
3. 使用jpeglib库实现bmp转jpg (转)
4. VC6.0下的GDI+配置(转)
5. Linux下QT程序字体设定错误造成程序中文乱码
6. C 代码优化(转)
7. C 高效编程忠告(转)
8. UNIX下编译SQLite3.3.6
9. *.bff文件的安装
10. 重装系统后ORACLE的恢复的几种方法(转载)
11. Solaris环境下编译头文件的注意事项
12. 简单介绍UNIX下编写定时器程序
13. 主流UNIX命令对比表
14. XMananger不能登录AIX的问题分析
15. AIX中的inittab 文件(转)
16. crontab命令详解(转帖)
17. QT Designer中安装QWT插件
18. C实现转动的短棒
19. C语言获取目录中文件名
20. Broadcom NetXtrem II网卡Linux安装指南(转载)
最新评论
1. re: 左值和右值
@wu
因为自增和自减运算符是有副作用的
--hj
2. re: UNIX下编译SQLite3.3.6
你好博主,我在aix6.1上编译sqlite遇到了问题,能请教你吗?492217330@qq.com谢谢
--庄
3. re: C++中的内存对齐[未登录]
看过好几个内存对齐了,你的最直观!!!
--燕子
4. re: C++中的内存对齐[未登录]
解释的十分精辟!
--zc
5. re: C++中的内存对齐
@牛在蓝天
补充的很好,谢谢~
--coat white
VC6.0怎么样使用moc编译
现在在学习QT界面开发,在windows环境下装了vc6和QT3.3.4版本的开发包,装好之后就可以在VC集成开发环境下产生一个工具栏进行QT开发了。在学习书上例子的时候,总是有些代码中要使用到Q_OBJECT宏,这样才可以使用自定义的signal还有slot了,不过试了好多次都编译不成功,好像是需要什么moc编译,真是晕,书上也没有说这个,那些自带的例子都是可以编译的,直接用工具栏上面的那个moc也不管用,要是你知道你就告诉我下怎么用。
查了下资料,moc就是元对象编程。
元对象编译器读取一个C++源文件。如果它发现其中的一个或多个类的声明中含有Q_OBJECT宏,它就会给这个使用Q_OBJECT宏的类生成另外一个包含元对象代码的C++源文件。尤其是,元对象代码对信号/槽机制、运行时类型信息和动态属性系统是需要的。
一个被元对象编译器生成的C++源文件必须和这个类的实现一起被编译和连接(或者它被包含到(#include)这个类的源文件中)。
如果你是用qmake来生成你的Makefile文件,当需要的时候,编译规则中需要包含调用元对象编译器,所以你不需要直接使用元对象编译器。
这里提供一种方法:类的声明放在一个头文件(.h文件)中
如果在上述的文件myclass.h中发现类的声明,元对象编译器的输出文件将会被放在一个叫moc_myclass.cpp的文件中。这个文件将会像通常情况一样被编译,作为对象文件的结果是moc_myclass.o(在Unix下)或者moc_myclass.obj(在Windows下)。这个对象接着将会被包含到一个对象文件列表中,它们将会在程序的最后连编阶段被连接在一起。
然后在
(1)在FileView视图中 右键点击需要产生MOC文件的头文件(就是类中包含Q_OBJECT宏,如果没有这个宏就不需要产生MOC文件)
(2)在右键菜单中选择Setting...
(3)选择Custom Build,在Commands栏中输入:
%QTDIR%\bin\moc.exe $(InputDir)\$(InputName).h -o $(InputDir)\moc_$(InputName).cpp
Outputs中输入:
$(InputDir)\moc_$(InputName).cpp
(4)然后右键这个头文件编译
(5)最后生成一个 moc编译产生的cpp源文件
这样编译时就会在当前工程目录中自动生成MOC文件了
本文参考 qt文档以及http://www.qobject.com/read.php?fid=46&tid=2296&toread=1 的文章。
谢谢!
posted on 2007-08-13 21:32
北风之神007
阅读(3463)
评论(0)
编辑
收藏
引用
所属分类:
QT
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
Qt程序Release模式编译
Linux下QT程序字体设定错误造成程序中文乱码
QT Designer中安装QWT插件
QT中求取中文字符串的长度
【转帖】常见的几个Qt编程问题的处理
QT读取中文文件
VC6.0怎么样使用moc编译
Qt中中文处理的简单方法
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
Powered by:
C++博客
Copyright © 北风之神007