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!

原文地址:https://www.cnblogs.com/s1099312273/p/3473601.html