zoukankan      html  css  js  c++  java
  • 其实参与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,可以在任何一台电脑上解压并且进行开发了。
    感兴趣的朋友可以体验下。

  • 相关阅读:
    uva 10491 Cows and Cars
    uva 10910 Marks Distribution
    uva 11029 Leading and Trailing
    手算整数的平方根
    uva 10375 Choose and divide
    uva 10056 What is the Probability?
    uva 11027 Palindromic Permutation
    uva 10023 Square root
    Ural(Timus) 1081. Binary Lexicographic Sequence
    扩展欧几里得(求解线性方程)
  • 原文地址:https://www.cnblogs.com/mmix2009/p/3536573.html
Copyright © 2011-2022 走看看