
星际译王(StarDict)是利用GTK(GIMP TOOLKIT)开发的国际化的、跨平台的自由的桌面字典软件。它并不包含字典档,使用者须自行下载配合使用。它可以运行于多种不同的平台,如Linux, Microsoft Windows ,FreeBSD及Solaris,并使用GPL授权。
stardict官网:http://stardict-4.sourceforge.net/index_en.php
准备工具:
系统:windows10
源码:stardict-2.4.9.tar.xz:下载地址
Dev-C++:下载地址
pkg-config:https://sourceforge.net/projects/kde-windows/files/archive/pkg-config/
gtk开发环境:gtk+-bundle_2.24.8-20111122_win32.zip:下载地址
gtk运行时环境:gtk2-runtime-2.12.1.exe:下载地址
环境配置:
1.解压stardict-2.4.9.tar.xz到自定义目录。(doc\README.win32可以看到windows下编译stardict的方法)
2.将pkg-config.exe所在目录添加到系统环境变量path中

3.解压gtk+-bundle_2.24.8-20111122_win32.zip到自定义目录。gtk+开发包包含所有编译gtk程序用到的头文件和库文件。找到其中的lib\pkgconfig文件夹,其中是以pc为后缀的文件

对于pc文件格式,比如
prefix=/devel/target/1315da81bb4f4a54ee1f3f8d6181abe2
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: cairo
Description: Multi-platform 2D graphics library
Version: 1.10.2
Requires.private: gobject-2.0 glib-2.0 fontconfig >= 2.2.95 freetype2 >= 9.7.3 libpng
Libs: -L${libdir} -lcairo
Libs.private: -lz -lz
Cflags: -I${includedir}/cairo
它是能够被pkg-config工具识别的文件,
通过设置环境变量PKG_CONFIG_PATH来让pkg-config能够找到pc文件,使用pkg-config工具得到编译链接时的参数,库文件和头文件目录以及链接到哪些库
添加系统环境变量,并且指定此目录作为变量值

打开cmd,输入以下命令得到编译stardict的附加头文件目录,将输出保存为文本
pkg-config --cflags gtk+-2.0

输入以下命令得到编译stardict的附加库文件目录,将输出保存为文本
pkg-config --libs gtk+-2.0

编译运行
安装devc++并打开,选择编译器版本为32位,因为编译使用的gtk库也是32位,否则会出现不能使用链接库的问题

点击yes

文件,打开项目或文件,找到stardict源码目录的stardict.dev打开

点击项目,项目属性,文件/目录。找到库目录,将pkg-config输出的库文件目录添加进去

同样将pkg-config输出的头文件目录添加进包含文件目录里,点击确定保存

点击工具栏的编译按钮进行编译,编译成功

在src文件夹下可以找到生成的stardict.exe程序。点击后无法直接运行,提示缺少运行库

因为gtk程序执行的是动态编译,因此运行时需要相应动态库的支持
解决办法有两个,在gtk+-bundle_2.24.8-20111122_win32的bin目录下有gtk程序运行时所有依赖的动态库文件,因此将gtk+-bundle_2.24.8-20111122_win32的bin目录加入系统环境变量path中就可以了。
或者,安装gtk2-runtime-2.12.1.exe之后就可以了。
启动时会弹出以下错误

提示找不到图片,将源码目录下的stardict.ico文件拷贝到src/pixmaps目录下。简单粗暴改名成stardict.png就可以了
启动后的画面

src目录下的stardict.exe、pixmaps、sounds就是程序运行需要的文件了。将它们拷贝出来就可以了。
字典文件的使用
词典下载地址:下载地址
首先下载字典文件并解压
在stardict程序目录下创建字典文件夹dic,将解压后的字典文件移动到dic内
之后重启程序,就可以使用新加入的字典了