首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

其实参与QtCreator开发也很容易^解决思路

2012-01-18 
其实参与QtCreator开发也很容易^_^10个月前发过一个组建Qt团队,共同研究、学习、完善QtCreator的帖子,不过在

其实参与QtCreator开发也很容易^_^
10个月前发过一个组建Qt团队,共同研究、学习、完善QtCreator的帖子,不过在为QtCreator提交完一个补丁后,就没有再继续了。
期间心里一直抱有歉意:名不符实的一个倡议。

近期在使用专门为KDE打造的发行版Chakra时,感觉很对自己的品味。
自然,也离不开QtCreator这个用Qt写的开源跨平台IDE了。

感觉QtCreator的开发是非常专业的,代码的质量非常高!
而且,参与开发的人比较多,比较热闹:你写的合并请求,总会有开发人员来检查,并提出一些很好的建议。这对自己的编程能力提高是有帮助的。

而且我发现:要参与QtCreator的开发,并不需要多少Qt的知识。
我只看了Qt开发入门教程的前三章(汗:《Windows程序设计》上下册都买了,也只看了前三章),觉得已经可以上手了。
如果遇到一些Qt相关的问题,只要查文档以及Google,一般都可以解决。
同时,在QtCreator的现有代码中查找相应用法,也是一个比较好的手段。

近期陆续提供了一些合并请求,也使得自己对Git的运用明显得心应手了,欣喜。
通过这些请求中的代码修改可以发现,参与QtCreator的开发也很容易!
https://qt.gitorious.org/qt-creator/qt-creator/merge_requests/382
https://qt.gitorious.org/qt-creator/qt-creator/merge_requests/397
https://qt.gitorious.org/qt-creator/qt-creator/merge_requests/398
https://qt.gitorious.org/qt-creator/qt-creator/merge_requests/401
https://qt.gitorious.org/qt-creator/qt-creator/merge_requests/402
https://qt.gitorious.org/qt-creator/qt-creator/merge_requests/403
https://qt.gitorious.org/qt-creator/qt-creator/merge_requests/404

另外,我提交的一个纯C++工程(不依赖Qt库)也被开发者采用了。同时,开发者还创建了一个基于纯C的工程。
这样,QtCreator就可以充当C/C++开发、学习的一个IDE了。

我现在在Linux平台下使用GCC/GDB,而在Windows平台下使用的却是MSVC/CDB。
发现QtCreator的一个非常优势的地方是:调试器非常好用!
STL的容器也好,Qt的容器也好,结果输出都很友好。
而代码完成功能,在开源IDE里,也仅次于Eclipse CDT了。

下面是我写的一个Windows平台下的处理:用于编译QtCreator的。
大家要注意:文档要单独编译,之后还要在QtCreator的设置里添加开发文档。
通过阅读开发文档,可以帮助了解QtCreator的架构。

C/C++ code
@echo offqmake "CONFIG+=release" ..\QtCreator\QtCreator.projom && nmake docsif %errorlevel% neq 0 goto errorset DESTDIR=D:\MrDeng\DEVx86\qtnmake INSTALL_ROOT=%DESTDIR% installrem qtcreatorcdbext32if not exist %DESTDIR%\lib\qtcreatorcdbext32 mkdir %DESTDIR%\lib\qtcreatorcdbext32xcopy /D /Y %~dp0\lib\qtcreatorcdbext32\*.dll %DESTDIR%\lib\qtcreatorcdbext32rem dllsxcopy /D /Y %~dp0\bin\*.* %DESTDIR%\binrem docsxcopy /D /Y /S /I %~dp0\share\doc %DESTDIR%\share\docrem translationsrmdir /S /Q %DESTDIR%\share\qtcreator\translationsgoto success:errorecho 编译失败!goto finish:successecho 编译成功!goto finish:finish


这是我用来编译Qt的:
C/C++ code
一、编译动态发布版修改编译选项(mkspecs\win32-msvc2010\qmake.conf):QMAKE_CFLAGS_RELEASE    = -O2 -Os -MDQMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -Os -MD -Zi修改链接选项:QMAKE_LFLAGS_RELEASE    = /INCREMENTAL:NO /OPT:REF /OPT:ICFQMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO = /INCREMENTAL:NO /DEBUG /OPT:REF /OPT:ICF修改完成后,备份qmake.conf,然后替换所有“ -Zi”和“ /DEBUG”为空,目的是编译Qt库时不生成pdb文件。编译Qt库结束后,再恢复“ -Zi”和“ /DEBUG”选项。配置:configure -confirm-license -opensource -prefix D:\MrDeng\DEVx86\qt -debug-and-release -shared -platform win32-msvc2010 -fast -no-qt3support -nomake demos -nomake examples -nomake translations编译安装:1. 拷贝目录mkspecs至D:\MrDeng\DEVx86\qt2. nmake && nmake install后期处理:1. 清除重复的DLL(将qt\lib目录中的DLL全部删除)2. 清除多余的帮助文档(先运行qt\bin\assistant.exe,以便更新qt\doc\pch;然后删除qt\doc\src和qt\doc\html)3. 还原qmake.conf,恢复“ -Zi”和“ /DEBUG”选项私有头文件:xcopy /S /I include\*_p.h ..\includexcopy /S /I src\*_p.h ..\src在Qt源码目录中执行上述命令,之后将..\include和..\src目录拷贝到D:\MrDeng\DEVx86\qt中!演示与示例:1. 重新配置及编译安装configure -confirm-license -opensource -prefix D:\MrDeng\DEVx86\qt -release -shared -platform win32-msvc2010 -fast -no-qt3support -nomake demos -nomake examples -nomake translationscd demos && nmake && nmake install && cd .. && cd examples && nmake && nmake install && cd ..2. 删除demos目录下*.exe3. 删除examples目录下所有release目录及*.exe4. 为demos和examples目录下所有文件添加只读属性二、编译静态正式版修改编译选项(mkspecs\win32-msvc2010\qmake.conf):QMAKE_CFLAGS_RELEASE    = -O2 -Os -MTQMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -Os -MT -Zi修改链接选项:QMAKE_LFLAGS_RELEASE    = /INCREMENTAL:NO /OPT:REF /OPT:ICFQMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO = /INCREMENTAL:NO /DEBUG /OPT:REF /OPT:ICF配置及编译:configure -release -platform win32-msvc2010 -fast -static -opensource -no-qt3supportnmake 



通过这些方法得到的Qt开发环境,其实只有269MB。
附带上MSVC编译器绿色版,以及一些工具等,也才675MB
通过配置QtCreator绿色版,打包后137MB,可以在任何一台电脑上解压并且进行开发了。
感兴趣的朋友可以体验下。

[解决办法]
我觉得就是QtCreator的设置优化和调试开关不太友好,没有cb方便,如果在工程设置中加入这个应用,就挺完美了。切换编译器虽然比不上cb,但也还凑和。

gcc4.6.1+binutils snapshots已经可以使用-fuse-linker-plugin编译Qt了,这样生成体积会更小一些。

vc编译qt dll时,也可以加入/GL。(static版就不要加了,应该会溢出)

此外,他的gdb调试器前端如何载入py脚本呢?

最后说一句,QtCreator在嵌入式开发里真心很无敌……
[解决办法]
QT creator很好,自己感觉挺好的。
[解决办法]
QT不错,希望QTCreator能比Eclipse CDT更成熟更受欢迎
[解决办法]
正在学这个
[解决办法]
还没开始搞QT,支持Loaden
[解决办法]
希望老邓把qtcreator的优秀特性带到codeblocks来
[解决办法]
用户界面不是很友好,所以选用了VS2008这个大块头,希望老邓能改改...
[解决办法]
高手呀,俺们这种只会用别人给的平台
[解决办法]
老邓CB不弄了?
[解决办法]
支持老邓!
[解决办法]
qtcreator编译代码可以改成vim模式的。

不过我个人还是喜欢单独用vim开发。


[解决办法]
试了下QTCreater,有可取之处.但还有待完善...有些东西设计得不是很合理.而且启动也太慢了...
[解决办法]
这么好的帖子我才看到……
[解决办法]
QtCreator就是速度太慢,按理说,它的内容比VS要少的多,虽然无法和Delphi,BCB比速度,但比VC2005以上应该还是有优势的。但实际用起来,速度比vc2005慢的太多太多,尤其是启动速度。

热点排行