你不须要晓得怎样写或读标识符就能校对它。
加装应用软件的方式有许多,但开放源码让你有了两个其它地方性所没的优先选择:你能他们校对标识符。校对源码的经典之作两步业务流程是:
$ ./configure
$ make
$ sudo make install
虽然有了那些指示,你可能会吃惊地辨认出,你不须要晓得怎样写标识符,即使不须要读标识符就能校对它。
加装用以构筑应用软件的指示
虽然这是你第二次展开校对,因此有两个纸制的预备关键步骤,即加装用作构筑应用软件的指示。简而言之,你须要两个校对器。校对器(比如说 GCC 或 LLVM)能将像这种的源码:
include
变为脚本语言,即 CPU 用以处置重要信息的命令。你能看呵呵电脑标识符,但它对你而言没任何人象征意义(假如你是两个 CPU)。
你能采用你的应用应用软件命令行加装 GNU 校对器子集(GCC)和 LLVM 校对器,和其它在 Fedora、CentOS、Mageia 和类似于应用软件上展开校对的基本上指示:
$ sudo dnf install @development clang
在 Debian、Elementary、Mint 和类似于应用软件上指示如下:
$ sudo aptinstallbuild-essential clang
在你的系统设置好后,有几项你每次校对应用软件时都要重复展开的任务:
- 下载源码
- 展开放源码码的存档文件
- 校对
你已经有了所有你须要的指示,因此现在你须要一些应用软件来校对。
1、下载源码
获得两个应用程序的源码和获得任何人可下载的应用软件一样。你得去两个网站或两个标识符管理网站,如 GitLab、SourceForge 或 GitHub。 通常情况下,开放源码应用软件既有正在展开的工作(当前current或 每夜nightly)的构筑版本,也有打包的稳定stable发布版本。在可能的情况下,采用稳定版本,假如你有理由相信,或者对标识符有足够的了解,能够在出现故障时修复。术语稳定版表明那些标识符经过了测试,而且该应用程序的程序员对标识符有足够的信心,从而将其打包成.zip
或.tar
归档,给了它两个官方编号,有时还有两个发布名称,然后提供给一般的非程序员公众下载。
在这个练习中,我采用 Angband,两个开放源码的(GPLv2)ASCII 地牢猎手游戏。这是两个单纯的应用程序,其复杂程度刚好能说明你在他们校对应用软件时须要考虑的问题。
从 网站上下载其源码。
2、展开放源码码的存档文件
源码通常是以存档的形式交付的,因为源码通常由多个文件组成的。在与之交互之前,你必须先解压,不管它是两个 tarball、两个 zip 文件、两个 7z 文件,还是其它完全不同的东西。
$ tar--extract --file Angband-x.y.z.tar.gz
一旦解压缩后,就把目录切换到解压缩的目录,然后看一看。通常在目录的顶层有两个README
文件。这个文件,一般会包含你须要做什么来校对标识符的指导。README
通常包含关于标识符的那些重要方面的重要信息:
- 语言:标识符采用的是什么语言(例如,C、C 、Rust、Python)。
- 依赖性:你须要在你的系统上加装其它什么的应用软件,以便这个应用程序能够构筑和运行。
- 说明:你构筑该应用软件所须要采取的明确关键步骤。偶尔,他们会在两个专门的文件中包含那些重要信息,这个文件被直观地称为
INSTALL
。
如果README
文件中不包含那些重要信息,能考虑向开发者提交一份错误报告。你不是唯一须要介绍呵呵源码的人。不管他们有多么丰富的经验,每个人都会对从未见过的源码感到陌生,而文档是很重要的!
Angband 的维护者给出了在线说明的链接,描述了怎样校对标识符。这份文件还描述了你须要加装哪些其它应用软件,尽管它并没确切地说明这一点。该网站说,有几个不同的可选构筑的前端(GCU、SDL、SDL2 和 X11),你能采用诸如--enable-sdl
,--disable-x11
的参数配置。这可能对你而言看起来像天书,但你经常校对标识符后就会习惯。无论你是否理解 X11 或 SDL2 是什么,它们都是你经过几个月定期校对标识符后经常看到的要求。你会对大多数应用软件须要其它应用软件库的想法感到适应,因为它们建立在其它技术之上。不过在这种情况下,Angband 非常灵活,无论是否有那些可选的依赖,都能展开校对,因此现在,你能假装没额外的依赖。
3、校对标识符
构筑标识符的典型关键步骤是:
$ ./configure
$ make
$ sudo make install
那些是采用 Autotools构筑的项目的关键步骤,该框架是为了规范源码的交付方式而创建的。然而,还有一些其它框架(如Cmake),它们须要不同的关键步骤。当项目没遵循 Autotools 或 Cmake 框架时,它们往往会在README
文件中提醒你。
配置
Angband 采用 Autotools,因此现在是校对标识符的时候了!
在 Angband 目录中,首先,运行随源码一起提供的配置脚本:
$ ./configure
这一步将扫描你的系统,找到 Angband 正确构筑所需的依赖性。有些依赖是非常基本上的,没它们你的电脑就无法运行,而有些则是专门的。在这一过程结束时,该脚本会给你一份关于它所辨认出的东西的报告:
[...]
configure: creating ./config.statusconfig.status: creating mk/buildsys.mkconfig.status: creating mk/extra.mkconfig.status: creating src/autoconf.h
Configuration:
Installpath: /usr/localbinarypath: /usr/local/gamesconfigpath: /usr/local/etc/angband/
libpath: /usr/local/share/angband/
docpath: /usr/local/share/doc/angband/
varpath: (notused)
(saveandscore filesin~/.angband/Angband/)-- Frontends --- Curses Yes
- X11 Yes
- SDL2 Disabled
- SDL Disabled
- Windows Disabled
- Test No
- Stats No
- Spoilers Yes
- SDL2 sound Disabled
- SDL sound Disabled
有些输出可能对你有象征意义,有些可能没。无论怎样,你可能注意到 SDL2 和 SDL 被标记为 Disabled,Test 和 Stats 都被标记为 None。虽然那些重要信息是负面的,但这并不一定是一件坏事。从本质上讲,这就是警告和错误之间的区别。如果配置脚本遇到了会阻止它构筑标识符的东西,它就会用两个错误来提醒你。
如果你想稍微优化呵呵你的构筑,你能优先选择解决那些负面重要信息。透过搜索 Angband 文档,你可能会确定 Test 和 Stats 实际上并不是你感兴趣的(它们是 Angband 专用作开发者的选项)。然而,透过在线研究,你可能会辨认出 SDL2 将是两个很好的功能。
要解决校对标识符时的依赖问题,你须要加装缺少的组件和该缺少的组件的开发库。换句话说,Angband 须要 SDL2 来播放声音,但它须要SDL2-devel
(在 Debian 系统上称为libsdl2-dev
)来构筑。用你的应用应用软件命令行加装这两个组件:
$ sudo dnf install sdl2 sdl2-devel
再试呵呵配置脚本:
$./configure--enable-sdl2[...]Configuration:[...]-CursesYes-X11Yes-SDL2Yes-SDLDisabled-WindowsDisabled-TestNo-StatsNo-SpoilersYes-SDLsoundDisabled-SDL2soundYes
制作(校对)
一旦一切配置完毕,运行make
指示:
$make
这通常须要一段时间,但它提供了许多视觉反馈,因此你会晓得标识符正在被校对。
加装
最后一步是加装你刚刚校对的标识符。加装标识符并没什么神奇之处。所做的就是复制许多文件到非常具体的目录中。无论你是从源码校对还是运行花哨的图形加装向导,都是如此。虽然那些标识符会被复制到系统级目录,你必须有 root(管理)权限,这是由sudo
指示授予的。
$ sudomakeinstall
运行该应用程序
一旦应用程序被加装,你就能运行它。根据 Angband 文档,启动游戏的指示是angband
,因此能试试:
$ angband
校对标识符
无论是在我的 Slackware 台式电脑上,还是在我的 CentOS 笔记本电脑上,我都会采用 NetBSD 的 pkgsrc系统校对我他们的大部分应用程序。我辨认出,透过他们校对应用软件,我能对应用程序中包含的功能、怎样配置、采用的库版本等有他们的想法。这很有象征意义,它帮助我跟上了新的版本,而且因为我有时会在这个过程中辨认出错误,它帮助我参与了许多不同的开放源码项目。
你很少会只有校对应用软件的一种方式可选,大多数开放源码项目同时提供源码(这就是为什么它被称为开放源码)和可加装包。是否从源码校对是你他们的优先选择,也许是因为你想要最新版本中还没的新功能,或者只是因为你喜欢他们校对标识符。
家庭作业
Angband 能采用 Autotools 或 Cmake,因此如果你想体验另一种构筑标识符的方式,能试试这个:
$mkdir build$cdbuild$cmake ..$make$sudo make install
你也能尝试用 LLVM 校对器而不是 GNU 校对器子集(GCC)展开校对。现在,我把这个问题留给你他们去研究(提示:尝试设置CC
环境变量)。
一旦你完成了对 Angband 的源码和至少几个地牢的探索(你已经赢得了一些休息时间),能看看其它一些标识符库。许多人都会采用 Autotools 或 Cmake,而其它人可能会采用不同的东西。看看你能构筑的成果!
2.分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3.不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4.本站提供的源码、模板、插件等其他资源,都不包含技术服务请大家谅解!
5.如有链接无法下载或失效,请联系管理员处理!
6.本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!