作者:chenkai0920
在fedora 8上装了xchm看.chm电子书,结果看中文是乱码,原因在于wxGTK的配置文件中默认不使用unicode。在安装时改一下就可以了。
??以下是完整过程:
??
??1. 下载软件包
??(1)chmlib-0.39.tar.bz2
??http://morte.jedrea.com/~jedwin/projects/chmlib/
??(2)wxGTK-2.86.tar.bz2
??http://sourceforge.net/project/showfiles.php?group_id=9863&package_id=14076&release_id=543466
??(3)xchm-1.13
??http://sourceforge.net/project/showfiles.php?group_id=87007
??
??2. 安装
??(1)chmlib
??tar -xjvf chmlib-0.39.tar.bz2
??cd chmlib-0.39
??./configure
??make
??make install
??(2)wxGTK
??tar -xjvf wxGTK-2.8.6.tar.bz2
??cd wxGTK-2.8.6
??为了能正常看中文,需要将configure文件中的
??第2389行,2390行
??以及2613行,2614行中的no改为yes。
?? DEFAULT_wxUSE_UNICODE=yes
?? DEFAULT_wxUSE_UNICODE_MSLU=yes
??
??然后经典的三步骤
??./configure
??make
??make install
??很慢,耐心等待
??
??(3)xchm
??tar -xzvf xchm-1.13.tar.gz
??cd xchm-1.13
??./configure;make;make install
??
??3.运行
??(1)此时如果直接运行,会抱怨说库找不到:因为库安装在/usr/local/lib,在/usr/lib/下找不到。
??# 例如
??xchm &
??会抱怨说:
??xchm: error while loading shared libraries: libwx_gtk2_aui-2.8.so.0: cannot open shared object file: No such file or directory
??(2)所以要建立链接
?? ln -s /usr/local/lib/libwx_gtk2_xrc-2.8.so.0 /usr/lib/libwx_gtk2_xrc-2.8.so.0
?? ln -s /usr/local/lib/libwx_gtk2_qa-2.8.so.0 /usr/lib/libwx_gtk2_qa-2.8.so.0
?? ln -s /usr/local/lib/libwx_html_qa-2.8.so.0 /usr/lib/libwx_gtk2_html-2.8.so.0
?? ln -s /usr/local/lib/libwx_html-2.8.so.0 /usr/lib/libwx_gtk2_html-2.8.so.0
?? ln -s /usr/local/lib/libwx_gtk2_html-2.8.so.0 /usr/lib/libwx_gtk2_html-2.8.so.0
?? ln -s /usr/local/lib/libwx_gtk2_adv-2.8.so.0 /usr/lib/libwx_gtk2_adv-2.8.so.0
?? ln -s /usr/local/lib/libwx_gtk2_core-2.8.so.0 /usr/lib/libwx_gtk2_core-2.8.so.0
?? ln -s /usr/local/lib/libwx_base_xml-2.8.so.0 /usr/lib/libwx_base_xml-2.8.so.0
?? ln -s /usr/local/lib/libwx_base_net-2.8.so.0 /usr/lib/libwx_base_net-2.8.so.0
?? ln -s /usr/local/lib/libwx_base-2.8.so.0 /usr/lib/libwx_base-2.8.so.0
?? ln -s /usr/local/lib/libchm.so.0 /usr/lib/libchm.so.0
??
?? #这些是支持unicode的:
?? ln -s /usr/local/lib/libwx_gtk2_xrc-2.8.so.0 /usr/lib/libwx_gtk2_xrc-2.8.so.0
?? ln -s /usr/local/lib/libwx_gtk2_qa-2.8.so.0 /usr/lib/libwx_gtk2_qa-2.8.so.0
?? ln -s /usr/local/lib/libwx_html_qa-2.8.so.0 /usr/lib/libwx_gtk2_html-2.8.so.0
?? ln -s /usr/local/lib/libwx_html-2.8.so.0 /usr/lib/libwx_gtk2_html-2.8.so.0
?? ln -s /usr/local/lib/libwx_gtk2_html-2.8.so.0 /usr/lib/libwx_gtk2_html-2.8.so.0
?? ln -s /usr/local/lib/libwx_gtk2_adv-2.8.so.0 /usr/lib/libwx_gtk2_adv-2.8.so.0
?? ln -s /usr/local/lib/libwx_gtk2_core-2.8.so.0 /usr/lib/libwx_gtk2_core-2.8.so.0
?? ln -s /usr/local/lib/libwx_base_xml-2.8.so.0 /usr/lib/libwx_base_xml-2.8.so.0
?? ln -s /usr/local/lib/libwx_base_net-2.8.so.0 /usr/lib/libwx_base_net-2.8.so.0
?? ln -s /usr/local/lib/libwx_base-2.8.so.0 /usr/lib/libwx_base-2.8.so.0
?? ln -s /usr/local/lib/libchm.so.0 /usr/lib/libchm.so.0
??(3)正常运行并能显示中文
??xchm yourfilename.chm &


slovey 于 2008-12-08 17:55:57发表:
[slovey@localhost ~]$ xchm
Fatal Error: Mismatch between the program and library build versions detected.
The library used 2.8 (no debug,Unicode,compiler with C++ ABI 1002,wx containers,compatible with 2.4,compatible with 2.6),
and your program used 2.8 (no debug,Unicode,compiler with C++ ABI 1002,wx containers,compatible with 2.6).
已放弃
我按你的方法弄完了是这种错误,好像说是版本冲突吧。这要怎么解决呢?
gamesz77 于 2007-12-06 01:04:13发表:
偶发现我的系统里根本就没有ln -s /usr/local/lib/libwx_gtk2_xrc-2.8.so.0 /usr/lib/libwx_gtk2_xrc-2.8.so.0
ln -s /usr/local/lib/libwx_gtk2_qa-2.8.so.0 /usr/lib/libwx_gtk2_qa-2.8.so.0
ln -s /usr/local/lib/libwx_html_qa-2.8.so.0 /usr/lib/libwx_gtk2_html-2.8.so.0
ln -s /usr/local/lib/libwx_html-2.8.so.0 /usr/lib/libwx_gtk2_html-2.8.so.0
ln -s /usr/local/lib/libwx_gtk2_html-2.8.so.0 /usr/lib/libwx_gtk2_html-2.8.so.0
ln -s /usr/local/lib/libwx_gtk2_adv-2.8.so.0 /usr/lib/libwx_gtk2_adv-2.8.so.0
ln -s /usr/local/lib/libwx_gtk2_core-2.8.so.0 /usr/lib/libwx_gtk2_core-2.8.so.0
ln -s /usr/local/lib/libwx_base_xml-2.8.so.0 /usr/lib/libwx_base_xml-2.8.so.0
ln -s /usr/local/lib/libwx_base_net-2.8.so.0 /usr/lib/libwx_base_net-2.8.so.0
ln -s /usr/local/lib/libwx_base-2.8.so.0 /usr/lib/libwx_base-2.8.so.0
ln -s /usr/local/lib/libchm.so.0 /usr/lib/libchm.so.0
里的文件呀,怎么办,能告诉我哪装吗
gxf 于 2007-11-30 12:53:48发表:
不错
jerrya 于 2007-11-30 12:40:41发表:
我用的也是chmsee,暂时还没有碰到这类问题呵呵
marco.chan 于 2007-11-30 12:10:00发表:
chmsee飘过。。。
对中文的支持度不错。。。。
xemeboy 于 2007-11-30 11:34:37发表:
正好有遇到这个问题,马上试试去,谢谢了。^_^
xiaoyun5109 于 2007-11-30 09:47:12发表:
我已经用 yum install xchm安装好了,那现在如何才能让它支持中文呢