• Titled-Contributing to Tiled


    原文链接来自于github网:https://github.com/bjorn/tiled/wiki/Contributing-to-Tiled

    所有内容均为个人自行翻译,仅供参考。


    介绍Tiled

    如果你已经对C++有一定的了解,那么了解QT版本的Tiled就很容易了。所有你需要做的就是了解到怎样获取系统版本和QT应用框架。当然,你也可以依据之前的做法。

    从Git中检出源

    安装Git

    安装Git的方法依据不同的系统而不同。如果去Git下载页面,你就会出现合适的方法。

    检出Tiled

    当你可以使用Git界面从库中检出,我下面就介绍从控制台检出的方法。Git库是在github.com上。你可以在http://github.com/bjorn/tiled中找到Tiled。

    为了确保本地有一个库,使用下面的命令:

    $ git clone git://github.com/bjorn/tiled.git
    $ cd tiled
    $ git log

    当你看到最后的命令时,这不仅是给了你一个源码库,而是包括所有的开发历史记录,允许你快速查看变更及之前的记录。

    开始使用工具

    安装C++编译器

    • 在linux中,使用g++安装
    • 在Windows中,建议使用包含MinGW的Qt包(从Qt5.0.1可用)
    • 在Max OS X中,我相信你需要使用Xcode。

    安装Qt和zlib

    从http://qt-project.org/downloads下载Qt。默认包自带Qt Creator,提供简便的方法去编译及运行Tiled,当然它也是一个修改Tiled强大的IDE。

    Tiled也直接依赖zlib库来夸张。在Debian和Ubuntu系统中,zlib可以通过下面的方式来安装:

    $ sudo apt-get install zlib1g-dev

    在Windows系统中,安装Zlib Windows的“完整包”。如果你没有把zlib安装到应用程序的默认路径下,设置ZLIB_PATH环境变量到你的安装目录中。

    编译及运行

    一旦你完成安装,便可以在Qt Creator中打开tiled.pro。如果Qt Creator没有检测Qt库,设置preferences(在Build&Run->Qt Version,并且建立一个Kit再添加它在Projects模式中)。接着,确保运行对象为Tiled并且其它程序没有依赖Tiled。最后按下Run按钮编译运行程序。

    如果你更倾向于命令行操作,你可以使用下面的命令来编译运行Tiled:

    $ qmake  #生成MakeFiles   
    $ make  #编译Tiled
    $ bin/tiled #运行Tiled

    提示:有一些系统中的qmake是不可用的(或者默认的是Qt3,Tiled不运行编译)。那样的话,使用qmake-qt4,qmake-qt5或者其它的适用系统的方法。

    使用Qt Creator和Qt5.0.1生成Tiled在Windows系统下的MinGw

     由于Qt的库和结构中的的一些依赖被修改后。一旦Tiled在Qt Creator之外可正常工作,但如果你尝试直接运行它高度可执行错误时会弹出。你必须复制并粘贴下面的文件QT_DIR5.0.1mingw47_32in目录到可执行文件的根目录:

    • icudt49.dll
    • icuin49.dll
    • icuuc49.dll
    • libEGL.dll
    • libgcc_s_sjlj-1.dll
    • libGLESv2.dll
    • libstdc++-6.dll
    • libwinpthread-1.dll
    • Qt5Core.dll
    • Qt5Gui.dll
    • Qt5OpenGL.dll
    • Qt5Widgets.dll

    如果使用延迟加载dll你必须复制QT_DIR5.0.1mingw47_32pluginsimageformats到pluginsimageformats。建议复制所有的文件除了所有后缀中带d的像qjpeg.dll和非qjepgd.dll。

    Qt5之后,你必须从QT_DIR5.0.1mingw47_32pluginsplatforms中复制qminimal.dll和qwindows.dll到pluginsplatforms。最后的文件qt.conf会被创建在根目录中使用下面的内容。

    [Paths]
    Plugins = plugins
    Translations = translations

    介绍补丁

    编辑代码并提交

    使用你喜欢的编辑器来编辑代码。当你使用它的时候,你会很方便的使用邮件或者 IRC方式来咨询问题,这里有相关的链接

    一旦你已经完成相关修改,你需要创建一次提交。在提交之前,你应该告诉Git你是谁。可以这样来做:

    $ git config --global user.name "Real Name Surname"
    $ git config --global user.email "your.email@domain"

    这个信息在每次提交时存储,并且确保让大家知道谁在更改。注意Git不保存账号信息,比如像Subversion中的中心版本控制一样。

    现在,在你提交之前,可以查看下git status的状态。可以这样来查看:

    [bjorn@thor tiled-qt]$ git status
    #On branch master
    #Changed but not updated:
    # (use "git add <file>.." to update what will be commintted)
    # (use "git checkout -- <file> ..." to discard changes in working directory)
    # 
    #   modified:src/mapscene.cpp
    #   modified:src/src.pro
    #
    #  Untracked files:
    #  (use "git add <file> ..." to include in what will be committed)
    #
    #   src/smartbursh.cpp
    #   src/smartbursh.h

    这里,Git显示你已经修改了两个文件mapscene.cpptkg src.pro,并且通过git新添加了两个文件smartbursh.cpp和smartbrush.h。可以使用下面的方法来提交修改:

    $ git add src/mapscene.cpp
    $ git add src/src.pro
    $ git add src/smartbrush.cpp
    $ git add src/smartbursh.h
    $ git commit
    [write commit message in editor that was started]

    注意:你可以使用下面的完成一次提交所有文件:

    $ git add -A

    然而,这样会有一点危险,因为它会添加一些未知的文件到git中,也许会有一些你不想添加上去的文件。仔细阅读git status的输出结果。一种更安全的方法可以这样:

    $ git add src/smartbrush.{cpp,h}
    $ git commit -a

    这里,第二行告诉Git你添加了一些改变并便于跟踪。我发现一种最简单的方式,就是使用git gui。它有一种可交互的部分,你在提交的时候,可以查看交选择提交的内容及编写提交信息。

    反馈你的修改

    有诸多方法你可以做这个。如果你对自己的修改不肯定,可以让其他人帮你检查。导入你的提交:

    $ git format-patch origin/master

    接着,在IRC中通过邮件发送你的文件给其他人。当你更新本机的库时,确保你本机的修改时在最新的内容上修改的,下拉最新的方式:

    $ git pull --rebase

    这样就可确保所有正确的内容被提交,并合并了一些非必要的内容。

    愉快Coding!

  • 相关阅读:
    51 数据中重复的数字
    64 数据流中的中位数
    79. Word Search
    93. Restore IP Addresses
    547. Friend Circles
    Epplus Excel 导入 MSSQL 数据库
    用来更新服务的bat 脚本
    ASP.Net MVC 引用动态 js 脚本
    8、结构的构造器应该显式调用!!!(坑)
    Task 线程重用导致等待!
  • 原文地址:https://www.cnblogs.com/s1099312273/p/3473601.html
Copyright © 2020-2023  润新知