[Linux 小技巧] Ubuntu 14.04 下编译、安装、配置最新开发版 GoldenDict

1. 背景介绍html

GoldenDict 是一款很是优秀的跨平台电子词典软件,支持 StarDict、Babylon 等多种词典。其 PC 版基于 Qt 编写,彻底免费、开源且没有广告。GoldenDict 的 Android 版是另一个全新实现的系统,采用了付费版去广告、免费版显示广告的策略,这里就不详细讨论了。git

GoldenDict 在 GitHub 上的地址是 https://github.com/goldendict/goldendict,截至目前(2015-10-17)已经有 1872 个 commit、36 位 contributor、184 次 Fork,开发仍然很是活跃。github

可是有个问题是该软件的发布维护并不太完善。官方网站 http://goldendict.org/ 上的下载连接 GodenDict 1.0.1 是 2010 年发布的,距如今已经有 1337 个 commit 了。bash

若是你是 Windows 用户,想快速安装 GoldenDict 的最新开发版,能够打开这个连接:https://github.com/goldendict/goldendict/wiki/Early-Access-Builds-for-Windows。这个 Wiki Page 一直在持续的更新中,所以就免去了手动编译的麻烦了。app

Linux 下的用户就没有那么幸运了。虽然也有一个页面 https://github.com/goldendict/goldendict/wiki/Early-Access-Builds-for-Linux-Portable,可是已经两年多没人维护了。Ubuntu 软件仓库的状况也没有好多少,上面的软件包一样从 2013 年开始就中止更新了,另外目前也没有活跃的 PPA 维护者。字体

因此在 Linux 下,若是你体验最新的 GoldenDict,手动编译是惟一的选择。网站

2. 下载、编译、安装ui

下面就不废话了,介绍一下 Ubuntu 下安装 GodenDict 开发版的方法。下面的描述适用于 Ubuntu 14.04,若是你使用的发行版不同,可能须要进行一些必要的调整。搜索引擎

首先安装必要的软件包:编码

sudo apt-get install git g++ libqt4-dev
sudo apt-get install libvorbis-dev libhunspell-dev libao-dev libavutil-dev libavformat-dev
sudo apt-get install libxtst-dev libeb16-dev zlib1g-dev libbz2-dev liblzo2-dev libtiff5-dev

而后下载最新源码:

cd ~
git clone https://github.com/goldendict/goldendict.git

进入 godendict 目录,而后开始编译:

cd goldendict
qmake
make

最后安装编译好的二进制文件:

sudo make install

完成以后,GoldenDict 的主程序位于 /usr/local/bin 目录下,以后能够手动把它加到桌面上。

3. 简单配置、使用指南

若是你以前没用过 GoldenDict 的话,能够看一下这一节。

3.1 准备字典文件

GodenDict 须要外挂字典运行,首先把你须要使用的字典放到任何一个目录下:

1-dicts

3.2 添加字典文件

而后打开 GodenDict 的 Edit / Dictionaries 菜单,添加刚才的目录,勾选 Recursive,而后点击 Rescan now

2-add-dicts

在完成后,就能够在 Dictionaries 页面中看到新添加的字典了:

3-dicts-installed

这里能够经过拖放来改变字典的显示顺序。

3.3 设置你喜欢的主题样式

打开 GodenDict 的 Edit / Preferences 菜单,能够切换 Display style 选择本身比较喜欢的样式,好比下图展现的是 Lingvo 主题:

4-style-lingvo

3.4 配置 Wikipedia

默认状况下,GodenDict 中集成的 English Wikipedia 每次查询都会提示:

Query error: XML parse error: unexpected end of file at 1,1

这是由 HTTP 协议没法工做致使的。解决方法很简单:打开 Edit / Dictionaries 菜单,点击 Wikipedia,而后将 English Wikipedia 的 Address 修改成 https://en.wikipedia.org/w 便可:

5-wikipedia

如今 GoldenDict 就能正常显示 Wikipedia 的内容了:

6-wiki-ok

3.5 添加音标字体

笔者常常在查询结果的最上面放一个金山简明英汉字典用来显示音标。这个字典在显示音标时用到了一个叫 Kingsoft Phonetic Plain 的字体。由于目前尚未安装这个字体,因此上面的音标显示是不正确的。可是若是直接将 Windows 下的字体复制到 Linux 下,你会发现获得的都是一个个方框,这是因为 Windows 下的 ttf 文件编码和 Linux 下不一样致使的。为了在 Linux 下正常显示音标,就须要对原 ttf 文件进行编码调整。这里提供一个网友制做的专用 ttf 文件:

将图片保存到本地,而后把扩展名改成 .rar 解压,就能够获得文件 kingsoft-phonetic-unicode.ttf。把这个文件复制到 /usr/share/fonts/truetype 目录下,而后将权限修改成 644,而后从新登录就可使字体生效了。

若是这个图片失效了,能够从这里下载字体文件:http://pan.baidu.com/s/1qWnC9Gw。最终获得的效果以下图所示:

8-phonetic

4. 编译问题

理论上只要按照上面的提示安装就不会出现下面的这些问题。若是出现了,那基本上就是缺乏对应的开发文件。这里把一些状况列出来,只是为了方便遇到问题的人能够经过搜索引擎搜索定位到对应的问题。

a) 若是编译时遇到下面的提示:

hotkeywrapper.hh:11:35: fatal error: X11/extensions/record.h: No such file or directory
 #include <X11/extensions/record.h>
                                   ^
compilation terminated.
make: *** [build/main.o] Error 1

那么须要确保这个软件包已安装:libxtst-dev

b) 若是编译时遇到下面的提示:

epwing_book.hh:21:19: fatal error: eb/eb.h: No such file or directory
 #include <eb/eb.h>
                   ^
compilation terminated.
make: *** [build/mainwindow.o] Error 1

那么须要确保这个软件包已安装:libeb16-dev

c) 若是编译时遇到下面的提示:

bgl_babylon.hh:25:18: fatal error: zlib.h: No such file or directory
 #include <zlib.h>
                  ^
compilation terminated.
make: *** [build/bgl_babylon.o] Error 1

那么须要确保这个软件包已安装:zlib1g-dev

d) 若是编译时遇到下面的提示:

decompress.cc:3:19: fatal error: bzlib.h: No such file or directory
 #include "bzlib.h"
                   ^
compilation terminated.
make: *** [build/decompress.o] Error 1

那么须要确保这个软件包已安装:libbz2-dev

e) 若是编译时遇到下面的提示:

mdictparser.cc:26:23: fatal error: lzo/lzo1x.h: No such file or directory
 #include <.zo/lzo1x.h>
                       ^
compilation terminated.
make: *** [build/mdictparser.o] Error 1

那么须要确保这个软件包已安装:liblzo2-dev

f) 若是编译时遇到下面的提示:

tiff.cc:12:18: fatal error: tiff.h: No such file or directory
 #include "tiff.h"
                  ^
compilation terminated.
make: *** [build/tiff.o] Error 1

那么须要确保这个软件包已安装:libtiff5-dev

相关文章
相关标签/搜索