红联Linux门户
Linux帮助

xchm for fedora8看中文

发布时间:2007-11-30 00:53:33来源:红联作者:TecCTO
  作者: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 &
文章评论

共有 7 条评论

  1. 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).
    已放弃


    我按你的方法弄完了是这种错误,好像说是版本冲突吧。这要怎么解决呢?

  2. 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
    里的文件呀,怎么办,能告诉我哪装吗

  3. gxf 于 2007-11-30 12:53:48发表:

    不错

  4. jerrya 于 2007-11-30 12:40:41发表:

    我用的也是chmsee,暂时还没有碰到这类问题呵呵

  5. marco.chan 于 2007-11-30 12:10:00发表:

    chmsee飘过。。。
    对中文的支持度不错。。。。

  6. xemeboy 于 2007-11-30 11:34:37发表:

    正好有遇到这个问题,马上试试去,谢谢了。^_^

  7. xiaoyun5109 于 2007-11-30 09:47:12发表:

    我已经用 yum install xchm安装好了,那现在如何才能让它支持中文呢