以前一直用的stardict,不过最近老是取不了词(不是真取不了词,只是连接不到服务器,翻译不了),尝试自己编译,但是老编译不过.

发现在linux下还有一个辞典,goldendict,感觉还不错,推荐一下.

需要手动编译,编译也不是很麻烦.

下面是大致的编译步骤,由于我机器上已经存在的第三方库较多,因此在实际编译时可能还有未列出的库.自己下载编译即可.

goldendict 1.0.1版下载地址:

http://ncu.dl.sourceforge.net/project/goldendict/goldendict/1.0/goldendict-1.0.1-src.tar.bz2

或使用git下载最新版本(注意:git下载的最新版编译相对麻烦,如果不想麻烦,直接编译1.0.1版本即可)

git clone git://github.com/goldendict/goldendict.git

其他第三方依赖安装库:

ogg库下载地址

http://downloads.xiph.org/releases/ogg/libogg-1.3.1.tar.gz

vorbis库下载地址

http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz

ao库下载(git下载的最新版本需要该库,如果是1.0.1版本,则不需要该库)

http://downloads.xiph.org/releases/ao/libao-1.1.0.tar.gz

hunspell库下载地址

http://tenet.dl.sourceforge.net/project/hunspell/Hunspell/1.3.2/hunspell-1.3.2.tar.gz

OGG/vorbis/ao/hunspell库编译很简单,典型的linux编译4部曲:
tar -zxvf *****
configure --prefix=/usr/local
make
make install 

这里编译vorbis时请注意,如果OGG的安装目录不是编译器搜索目录,需要在configure时通过选项--with-ogg指定ogg的安装路径


QT4-phonon库安装

先通过命令

aptitude search phonon
查看qt4-phonon库的完整名字,一般为libqt4-phonon-dev

使用命令

sudo aptitude install libqt4-phonon-dev

安装qt4 phonon库


ffmpeg下载(git下载的最新版本需要该库,如果是1.0.1版本,则不需要该库)

www.ffmpeg.org下载1.0.6版本,并放在goldendict目录下,

(这里附带提一下,ffmpeg1.0.6需要make工具版本为3.81以上,我尝试过在3.80下添加V=1参数进行编译,编译倒是没错,可是不能链接

make 3.81 ubuntu安装包下载

http://archive.ubuntu.com/ubuntu/pool/main/m/make-dfsg/make_3.81-7ubuntu1_i386.deb

安装好后,make工具路径为/usr/bin/make)

tar -zxvf ffmpeg-1.0.6.tar.gz
cd ffmpeg-1.0.6
./configure --prefix=/usr/local
/usr/bin/make (注:我安装make 3.81后,直接在命令行使用make -v查看make版本时,还是3.80,所以这里直接指定刚安装的make路径,使用新版make工具进行编译)
sudo /usr/bin/make install

安装好goldendict第三方依赖库后,即可进行goldendict编译,

首先解压goldendict-1.0.1-src.tar.bz2(如果是git下载,则直接进入goldendict目录),

图形模式下进入goldendict-1.0.1-src文件夹,双击goldendict.pro文件,使用QT4 Creator打开goldendict工程,

直接编译即可.

下面是1.0.1版本改动的地方

由于goldendict 1.0.1链接时使用的hunspell库是1.2版本(即使用的链接选项为-lhunspell-1.2),而这里编译安装的是1.3版本需要修改链接时的hunspell库名(即修改为-lhunspell-1.3)

下面是git下载的最新版本错误修改

goldendict/maintabwidget.cc:68: error: ‘MiddleButton’ is not a member of ‘Qt’

Qt::MiddleButton 修改为 Qt::MidButton

goldendict/mdx.cc:706: error: ‘replace’ is not a member of ‘std’

articleinspector.cc:22: error: no matching function for call to ‘find(std::_List_iterator<ArticleInspector*>, std::_List_iterator<ArticleInspector*>, ArticleInspector* const)’

添加头文件包含

#include <algorithm>

如果在编译时提示找不到其他第三方库,则通过命令

export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
添加pkg-config搜索路径


编译好后,可能把程序goldendict移动到/usr/bin或/usr/local/bin等系统目录,方便所有用户都可以使用该程序或随系统启动等,

但在启动后,看到的不是中文界面而是英文界面,则需要把goldendict / locale文件夹复制到goldendict可执行程序所在的文件夹.


下面附一张goldendict的界面图(1.0.1版本和git下载的最新版本界面都是相同的)

Logo

更多推荐