• 其实参与QtCreator开发也很容易


    http://bbs.csdn.net/topics/370241186

    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的架构。

    @echo off
    
    qmake "CONFIG+=release" ..QtCreatorQtCreator.pro
    jom && nmake docs
    
    if %errorlevel% neq 0 goto error
    
    set DESTDIR=D:MrDengDEVx86qt
    nmake INSTALL_ROOT=%DESTDIR% install
    
    rem qtcreatorcdbext32
    if not exist %DESTDIR%libqtcreatorcdbext32 mkdir %DESTDIR%libqtcreatorcdbext32
    xcopy /D /Y %~dp0libqtcreatorcdbext32*.dll %DESTDIR%libqtcreatorcdbext32
    rem dlls
    xcopy /D /Y %~dp0in*.* %DESTDIR%in
    rem docs
    xcopy /D /Y /S /I %~dp0sharedoc %DESTDIR%sharedoc
    rem translations
    rmdir /S /Q %DESTDIR%shareqtcreator	ranslations
    
    goto success
    
    :error
    echo 编译失败!
    goto finish
    
    :success
    echo 编译成功!
    goto finish
    
    :finish
    

     这是我用来编译Qt的:

    一、编译动态发布版
    修改编译选项(mkspecswin32-msvc2010qmake.conf):
    QMAKE_CFLAGS_RELEASE    = -O2 -Os -MD
    QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -Os -MD -Zi
    修改链接选项:
    QMAKE_LFLAGS_RELEASE    = /INCREMENTAL:NO /OPT:REF /OPT:ICF
    QMAKE_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:MrDengDEVx86qt -debug-and-release -shared -platform win32-msvc2010 -fast -no-qt3support -nomake demos -nomake examples -nomake translations
    
    编译安装:
    1. 拷贝目录mkspecs至D:MrDengDEVx86qt
    2. nmake && nmake install
    
    后期处理:
    1. 清除重复的DLL(将qtlib目录中的DLL全部删除)
    2. 清除多余的帮助文档(先运行qtinassistant.exe,以便更新qtdocpch;然后删除qtdocsrc和qtdochtml)
    3. 还原qmake.conf,恢复“ -Zi”和“ /DEBUG”选项
    
    私有头文件:
    xcopy /S /I include*_p.h ..include
    xcopy /S /I src*_p.h ..src
    在Qt源码目录中执行上述命令,之后将..include和..src目录拷贝到D:MrDengDEVx86qt中!
    
    演示与示例:
    1. 重新配置及编译安装
    configure -confirm-license -opensource -prefix D:MrDengDEVx86qt -release -shared -platform win32-msvc2010 -fast -no-qt3support -nomake demos -nomake examples -nomake translations
    cd demos && nmake && nmake install && cd .. && cd examples && nmake && nmake install && cd ..
    2. 删除demos目录下*.exe
    3. 删除examples目录下所有release目录及*.exe
    4. 为demos和examples目录下所有文件添加只读属性
    
    二、编译静态正式版
    修改编译选项(mkspecswin32-msvc2010qmake.conf):
    QMAKE_CFLAGS_RELEASE    = -O2 -Os -MT
    QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -Os -MT -Zi
    
    修改链接选项:
    QMAKE_LFLAGS_RELEASE    = /INCREMENTAL:NO /OPT:REF /OPT:ICF
    QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO = /INCREMENTAL:NO /DEBUG /OPT:REF /OPT:ICF
    
    配置及编译:
    configure -release -platform win32-msvc2010 -fast -static -opensource -no-qt3support
    nmake
    

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

  • 相关阅读:
    一个总成本花费100W的失败项目的小小反省
    从绝望中寻找希望
    一个合格程序员该做的事情——你做好了吗?
    Go to 北京!
    深入浅出Oracle分析函数
    最适合web开发人员使用的速查表
    采用axis2c进行webservice发布的流程4在生成的代码中添加事务处理逻辑
    采用axis2c进行webservice发布的流程1
    rhel6.0及centos6.0 忘记root密码解决办法
    采用axis2c进行webservice发布的流程3通过wsdl文件,自动生成C的服务端代码
  • 原文地址:https://www.cnblogs.com/mmix2009/p/3536573.html
Copyright © 2020-2023  润新知