Description: KchmViewer is a chm (MS HTML help file format) viewer, written in C++. Unlike most existing CHM viewers for Unix, it uses Trolltech Qt widget library, and does not depend on KDE or Gnome. However, it may be compiled with full KDE support, including KDE widgets and KIO/KHTML.
The main advantage of KchmViewer is non-English language support. Unlike others, KchmViewer in most cases correctly detects help file encoding, correctly shows tables of context of Russian, Korean, Chinese and Japanese help files, and correctly searches in non-English help files (search for MBCS languages - ja/ko/ch is still in progress).
KchmViewer is written by George Yunaev, and is licensed under GNU GPL v3 license.
Hi. @the dev: where can i find the documentation ? especially, i'm looking for the comprehensive list of keyboard shortcuts. i only found out a few of them by chance.
Thx for your nice application.
Hi!
When I try to open a .chm file, I get the followinng error message:
An error occurred while loading ms-its:/home/Aki/Documents/abcdefg.chm::/0131872494/toc.html:
Could not start process Unable to create io-slave:
klauncher said: Error while loading 'kio_chm'.
I have chmlib-0.39-21, chmlib-devel and kchmviewer-3.1-2.1 installed on openSUSE 10.3 with KDE 3.5.7 release 3.
version: 3.1
if g++ -DHAVE_CONFIG_H -I. -I. -I../../src -I/usr/share/qt3/include -DQT_THREAD_SUPPORT -march=k8 -O2 -pipe -fomit-frame-pointer -fno-strict-aliasing -funroll-loops -D_REENTRANT -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -march=k8 -O2 -pipe -fomit-frame-pointer -fno-strict-aliasing -funroll-loops -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -MT libchmfile.o -MD -MP -MF ".deps/libchmfile.Tpo" -c -o libchmfile.o libchmfile.cpp; \
then mv -f ".deps/libchmfile.Tpo" ".deps/libchmfile.Po"; else rm -f ".deps/libchmfile.Tpo"; exit 1; fi
In file included from libchmfile.cpp:23:
libchmfileimpl.h:23:21: error: chm_lib.h: No existe el fichero ó directorio
libchmfileimpl.h:100: error: ‘chmUnitInfo’ has not been declared
libchmfileimpl.h:103: error: expected ‘,’ or ‘...’ before ‘*’ token
libchmfileimpl.h:103: error: ISO C++ forbids declaration of ‘chmUnitInfo’ with no type
libchmfileimpl.h:223: error: ISO C++ forbids declaration of ‘chmFile’ with no type
libchmfileimpl.h:223: error: expected ‘;’ before ‘*’ token
libchmfileimpl.h:261: error: ‘chmUnitInfo’ does not name a type
libchmfileimpl.h:264: error: ‘chmUnitInfo’ does not name a type
libchmfileimpl.h:267: error: ‘chmUnitInfo’ does not name a type
libchmfileimpl.h:270: error: ‘chmUnitInfo’ does not name a type
libchmfileimpl.h:277: error: ‘chmUnitInfo’ does not name a type
make[2]: *** [libchmfile.o] Error 1
make[2]: se sale del directorio `/home/virgilio/temp/kchmviewer-3.1/lib/libchmfile'
make[1]: *** [all-recursive] Error 1
make[1]: se sale del directorio `/home/virgilio/temp/kchmviewer-3.1/lib'
make: *** [all-recursive] Error 1
Do you have libchm installed? If you have a package based system like ubuntu, debian, suse, fedora, etc, you also have to install the libchm-dev or -devel package as well.
version: 3.1
if g++ -DHAVE_CONFIG_H -I. -I. -I../../src -I/usr/share/qt3/include -DQT_THREAD_SUPPORT -march=k8 -O2 -pipe -fomit-frame-pointer -fno-strict-aliasing -funroll-loops -D_REENTRANT -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -march=k8 -O2 -pipe -fomit-frame-pointer -fno-strict-aliasing -funroll-loops -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -MT libchmfile.o -MD -MP -MF ".deps/libchmfile.Tpo" -c -o libchmfile.o libchmfile.cpp; \
then mv -f ".deps/libchmfile.Tpo" ".deps/libchmfile.Po"; else rm -f ".deps/libchmfile.Tpo"; exit 1; fi
In file included from libchmfile.cpp:23:
libchmfileimpl.h:23:21: error: chm_lib.h: No existe el fichero ó directorio
libchmfileimpl.h:100: error: ‘chmUnitInfo’ has not been declared
libchmfileimpl.h:103: error: expected ‘,’ or ‘...’ before ‘*’ token
libchmfileimpl.h:103: error: ISO C++ forbids declaration of ‘chmUnitInfo’ with no type
libchmfileimpl.h:223: error: ISO C++ forbids declaration of ‘chmFile’ with no type
libchmfileimpl.h:223: error: expected ‘;’ before ‘*’ token
libchmfileimpl.h:261: error: ‘chmUnitInfo’ does not name a type
libchmfileimpl.h:264: error: ‘chmUnitInfo’ does not name a type
libchmfileimpl.h:267: error: ‘chmUnitInfo’ does not name a type
libchmfileimpl.h:270: error: ‘chmUnitInfo’ does not name a type
libchmfileimpl.h:277: error: ‘chmUnitInfo’ does not name a type
make[2]: *** [libchmfile.o] Error 1
make[2]: se sale del directorio `/home/virgilio/temp/kchmviewer-3.1/lib/libchmfile'
make[1]: *** [all-recursive] Error 1
make[1]: se sale del directorio `/home/virgilio/temp/kchmviewer-3.1/lib'
make: *** [all-recursive] Error 1
version: 3.1
if g++ -DHAVE_CONFIG_H -I. -I. -I../../src -I/usr/share/qt3/include -DQT_THREAD_SUPPORT -march=k8 -O2 -pipe -fomit-frame-pointer -fno-strict-aliasing -funroll-loops -D_REENTRANT -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -march=k8 -O2 -pipe -fomit-frame-pointer -fno-strict-aliasing -funroll-loops -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -MT libchmfile.o -MD -MP -MF ".deps/libchmfile.Tpo" -c -o libchmfile.o libchmfile.cpp; \
then mv -f ".deps/libchmfile.Tpo" ".deps/libchmfile.Po"; else rm -f ".deps/libchmfile.Tpo"; exit 1; fi
In file included from libchmfile.cpp:23:
libchmfileimpl.h:23:21: error: chm_lib.h: No existe el fichero ó directorio
libchmfileimpl.h:100: error: ‘chmUnitInfo’ has not been declared
libchmfileimpl.h:103: error: expected ‘,’ or ‘...’ before ‘*’ token
libchmfileimpl.h:103: error: ISO C++ forbids declaration of ‘chmUnitInfo’ with no type
libchmfileimpl.h:223: error: ISO C++ forbids declaration of ‘chmFile’ with no type
libchmfileimpl.h:223: error: expected ‘;’ before ‘*’ token
libchmfileimpl.h:261: error: ‘chmUnitInfo’ does not name a type
libchmfileimpl.h:264: error: ‘chmUnitInfo’ does not name a type
libchmfileimpl.h:267: error: ‘chmUnitInfo’ does not name a type
libchmfileimpl.h:270: error: ‘chmUnitInfo’ does not name a type
libchmfileimpl.h:277: error: ‘chmUnitInfo’ does not name a type
make[2]: *** [libchmfile.o] Error 1
make[2]: se sale del directorio `/home/virgilio/temp/kchmviewer-3.1/lib/libchmfile'
make[1]: *** [all-recursive] Error 1
make[1]: se sale del directorio `/home/virgilio/temp/kchmviewer-3.1/lib'
make: *** [all-recursive] Error 1
I just want to add that the author of this program (gyunaev) is perhaps a little too overconfident in his programming skills. Whatever the case, he doesn't do enough testing.
Very amateurish.
Using the latest version (3.0) on kde 3.5.6.
The program is *almost* very good, but kchmviewer has some debilitating deficiencies.
First, if its configured to open the last document you were reading (which is default behavior) but then you delete that document, the next time you open kchmviewer, it doesn't want to do anything because it can't find the file. It just closes. You'll need to go into the ~/.kchmviewer directory to fix it manually.
And now the bookmarks that I so happily created are not showing up. However, the *.kchmviewer files (which I assume are where the bookmarks are stored) are in my ~/.kchmviewer directory, but they seem to have been reduced to a couple of hundred bytes, which means the bookmarks must be forever gone.
I am soo irked.
This program is definitely alpha quality. Please Don't use it yet, especially if you intend to bookmark you chm files.
The first bug was fixed in 3.1, as soon as it was reported. If you reported it as described in documentation instead of ranting somewhere, it would be fixed three months ago.
The bookmarks bug cannot be reproduced.
Regarding your last comment - this is free project, and I spend my free time working on it. If you did some QA, and reported bugs instead of ranting here, you would help making the application better. Nothing is perfect, even NASA guys make mistakes. And blaming someone's programming skills will not help.
I tried compiling it on Kubuntu 7.04, and I even installed all the build dependencies before compiling (apt-get build-dep) but I still get the same problem. What is wrong?
Hi. I compiled and installed kchmviewer v3 on my kubuntu system without any problem. However, it keeps crashing everytime I use the search feature. It says its building the search database, and then at around 70% completion, it is using 100% of my CPU, then it crashes.
Any advice? I don't want to use the package from ubuntu because it is too old (v2.6).
hi
your package is a lot of ugly work. why for exampel are the Message:LC files going under the parent / directroy.
can you please rebuild it. i have triede doing this by myself but i get too much errors.
Ratings & Comments
103 Comments
Does not work with some chm files(maybe these files are based on javascrpts) because of which I had to use Chmsee now...
1. Tarball contains directory build-5.0 instead of kchmviewer-5.0. 2. Application options are saved but not used at next start.
And application icon is not installed.
kchmviewer 4 crashes on opening the official german php chm-manual (on php.net -> documentation -> download)
Great program! Do you plan to support the HLP format (WinHelp)?
Is there anything useful in WinHelp format?
(k)ubuntu 8.10 intrepid deb available from https://edge.launchpad.net/~paulo-miguel-dias/+archive ppa. enjoy :)
.chm files now. Excellent program -- very fast and complete. Thank you.
kchmviewer is a very good chm viewer, and I am waiting for kchmviewer 4.0 which supports qt4.
Hi. @the dev: where can i find the documentation ? especially, i'm looking for the comprehensive list of keyboard shortcuts. i only found out a few of them by chance. Thx for your nice application.
Excellent. Compiled without a hitch with both KDE and AMD64 support. The .deb in the Ubuntu repositories is slightly out of date (2.7) -- BMO
kchmviewer-3.1-1.lotus.i586.rpm at http://home.scarlet.be/raoul.linux/lotus.html
Hi! When I try to open a .chm file, I get the followinng error message: An error occurred while loading ms-its:/home/Aki/Documents/abcdefg.chm::/0131872494/toc.html: Could not start process Unable to create io-slave: klauncher said: Error while loading 'kio_chm'. I have chmlib-0.39-21, chmlib-devel and kchmviewer-3.1-2.1 installed on openSUSE 10.3 with KDE 3.5.7 release 3.
version: 3.1 if g++ -DHAVE_CONFIG_H -I. -I. -I../../src -I/usr/share/qt3/include -DQT_THREAD_SUPPORT -march=k8 -O2 -pipe -fomit-frame-pointer -fno-strict-aliasing -funroll-loops -D_REENTRANT -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -march=k8 -O2 -pipe -fomit-frame-pointer -fno-strict-aliasing -funroll-loops -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -MT libchmfile.o -MD -MP -MF ".deps/libchmfile.Tpo" -c -o libchmfile.o libchmfile.cpp; \ then mv -f ".deps/libchmfile.Tpo" ".deps/libchmfile.Po"; else rm -f ".deps/libchmfile.Tpo"; exit 1; fi In file included from libchmfile.cpp:23: libchmfileimpl.h:23:21: error: chm_lib.h: No existe el fichero ó directorio libchmfileimpl.h:100: error: ‘chmUnitInfo’ has not been declared libchmfileimpl.h:103: error: expected ‘,’ or ‘...’ before ‘*’ token libchmfileimpl.h:103: error: ISO C++ forbids declaration of ‘chmUnitInfo’ with no type libchmfileimpl.h:223: error: ISO C++ forbids declaration of ‘chmFile’ with no type libchmfileimpl.h:223: error: expected ‘;’ before ‘*’ token libchmfileimpl.h:261: error: ‘chmUnitInfo’ does not name a type libchmfileimpl.h:264: error: ‘chmUnitInfo’ does not name a type libchmfileimpl.h:267: error: ‘chmUnitInfo’ does not name a type libchmfileimpl.h:270: error: ‘chmUnitInfo’ does not name a type libchmfileimpl.h:277: error: ‘chmUnitInfo’ does not name a type make[2]: *** [libchmfile.o] Error 1 make[2]: se sale del directorio `/home/virgilio/temp/kchmviewer-3.1/lib/libchmfile' make[1]: *** [all-recursive] Error 1 make[1]: se sale del directorio `/home/virgilio/temp/kchmviewer-3.1/lib' make: *** [all-recursive] Error 1
Do you have libchm installed? If you have a package based system like ubuntu, debian, suse, fedora, etc, you also have to install the libchm-dev or -devel package as well.
version: 3.1 if g++ -DHAVE_CONFIG_H -I. -I. -I../../src -I/usr/share/qt3/include -DQT_THREAD_SUPPORT -march=k8 -O2 -pipe -fomit-frame-pointer -fno-strict-aliasing -funroll-loops -D_REENTRANT -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -march=k8 -O2 -pipe -fomit-frame-pointer -fno-strict-aliasing -funroll-loops -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -MT libchmfile.o -MD -MP -MF ".deps/libchmfile.Tpo" -c -o libchmfile.o libchmfile.cpp; \ then mv -f ".deps/libchmfile.Tpo" ".deps/libchmfile.Po"; else rm -f ".deps/libchmfile.Tpo"; exit 1; fi In file included from libchmfile.cpp:23: libchmfileimpl.h:23:21: error: chm_lib.h: No existe el fichero ó directorio libchmfileimpl.h:100: error: ‘chmUnitInfo’ has not been declared libchmfileimpl.h:103: error: expected ‘,’ or ‘...’ before ‘*’ token libchmfileimpl.h:103: error: ISO C++ forbids declaration of ‘chmUnitInfo’ with no type libchmfileimpl.h:223: error: ISO C++ forbids declaration of ‘chmFile’ with no type libchmfileimpl.h:223: error: expected ‘;’ before ‘*’ token libchmfileimpl.h:261: error: ‘chmUnitInfo’ does not name a type libchmfileimpl.h:264: error: ‘chmUnitInfo’ does not name a type libchmfileimpl.h:267: error: ‘chmUnitInfo’ does not name a type libchmfileimpl.h:270: error: ‘chmUnitInfo’ does not name a type libchmfileimpl.h:277: error: ‘chmUnitInfo’ does not name a type make[2]: *** [libchmfile.o] Error 1 make[2]: se sale del directorio `/home/virgilio/temp/kchmviewer-3.1/lib/libchmfile' make[1]: *** [all-recursive] Error 1 make[1]: se sale del directorio `/home/virgilio/temp/kchmviewer-3.1/lib' make: *** [all-recursive] Error 1
version: 3.1 if g++ -DHAVE_CONFIG_H -I. -I. -I../../src -I/usr/share/qt3/include -DQT_THREAD_SUPPORT -march=k8 -O2 -pipe -fomit-frame-pointer -fno-strict-aliasing -funroll-loops -D_REENTRANT -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -march=k8 -O2 -pipe -fomit-frame-pointer -fno-strict-aliasing -funroll-loops -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -MT libchmfile.o -MD -MP -MF ".deps/libchmfile.Tpo" -c -o libchmfile.o libchmfile.cpp; \ then mv -f ".deps/libchmfile.Tpo" ".deps/libchmfile.Po"; else rm -f ".deps/libchmfile.Tpo"; exit 1; fi In file included from libchmfile.cpp:23: libchmfileimpl.h:23:21: error: chm_lib.h: No existe el fichero ó directorio libchmfileimpl.h:100: error: ‘chmUnitInfo’ has not been declared libchmfileimpl.h:103: error: expected ‘,’ or ‘...’ before ‘*’ token libchmfileimpl.h:103: error: ISO C++ forbids declaration of ‘chmUnitInfo’ with no type libchmfileimpl.h:223: error: ISO C++ forbids declaration of ‘chmFile’ with no type libchmfileimpl.h:223: error: expected ‘;’ before ‘*’ token libchmfileimpl.h:261: error: ‘chmUnitInfo’ does not name a type libchmfileimpl.h:264: error: ‘chmUnitInfo’ does not name a type libchmfileimpl.h:267: error: ‘chmUnitInfo’ does not name a type libchmfileimpl.h:270: error: ‘chmUnitInfo’ does not name a type libchmfileimpl.h:277: error: ‘chmUnitInfo’ does not name a type make[2]: *** [libchmfile.o] Error 1 make[2]: se sale del directorio `/home/virgilio/temp/kchmviewer-3.1/lib/libchmfile' make[1]: *** [all-recursive] Error 1 make[1]: se sale del directorio `/home/virgilio/temp/kchmviewer-3.1/lib' make: *** [all-recursive] Error 1
I just want to add that the author of this program (gyunaev) is perhaps a little too overconfident in his programming skills. Whatever the case, he doesn't do enough testing. Very amateurish.
Using the latest version (3.0) on kde 3.5.6. The program is *almost* very good, but kchmviewer has some debilitating deficiencies. First, if its configured to open the last document you were reading (which is default behavior) but then you delete that document, the next time you open kchmviewer, it doesn't want to do anything because it can't find the file. It just closes. You'll need to go into the ~/.kchmviewer directory to fix it manually. And now the bookmarks that I so happily created are not showing up. However, the *.kchmviewer files (which I assume are where the bookmarks are stored) are in my ~/.kchmviewer directory, but they seem to have been reduced to a couple of hundred bytes, which means the bookmarks must be forever gone. I am soo irked. This program is definitely alpha quality. Please Don't use it yet, especially if you intend to bookmark you chm files.
The first bug was fixed in 3.1, as soon as it was reported. If you reported it as described in documentation instead of ranting somewhere, it would be fixed three months ago. The bookmarks bug cannot be reproduced. Regarding your last comment - this is free project, and I spend my free time working on it. If you did some QA, and reported bugs instead of ranting here, you would help making the application better. Nothing is perfect, even NASA guys make mistakes. And blaming someone's programming skills will not help.
I tried compiling it on Kubuntu 7.04, and I even installed all the build dependencies before compiling (apt-get build-dep) but I still get the same problem. What is wrong?
Hi. I compiled and installed kchmviewer v3 on my kubuntu system without any problem. However, it keeps crashing everytime I use the search feature. It says its building the search database, and then at around 70% completion, it is using 100% of my CPU, then it crashes. Any advice? I don't want to use the package from ubuntu because it is too old (v2.6).
kchmviewer-3.0-1.lotus.i586.rpm at http://home.scarlet.be/raoul.linux/lotus.html
hi your package is a lot of ugly work. why for exampel are the Message:LC files going under the parent / directroy. can you please rebuild it. i have triede doing this by myself but i get too much errors.
I'm not the owner of this package , just create a rpm for SuSE . Post your question to the owner of this application