aspell-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[aspell-devel] aspell 0.60.6 on Windows and using libaspell with SciTE


From: Laura nmi Michaels
Subject: [aspell-devel] aspell 0.60.6 on Windows and using libaspell with SciTE
Date: Tue, 6 May 2008 19:07:43 -0400

A lot of people on the SciTE mailing list (and probably other text editors 
groups too) have been clamoring for a spell-checker to work with their 
favorite editor.  I thought if I could find a decent C/C++ library that 
handled spelling, I could write some code to output the results in a format 
similar to the error messages from the gnu C/C++ and mingw C/C++ compilers.  
When I found out aspell had such a library, I decided to download a copy of 
the latest version 0.60.6 and test out my idea.  As I was trying to compile 
the library with mingw and msys, I kept asking myself how did anyone get 
this working on Windows.  After searching the Internet for 4 fixes to 
various issues I came across, I finally got the library and aspell program 
to build.  I went back to the aspell web site to locate some documentation 
on the C/C++ library API and I noticed the Win32 page doesn't have the 
latest version of aspell.  So, I guess people aren't getting this to compile 
on Windows.  

I have some diffs to get aspell 0.60.6 compiling properly with mingw and 
msys.  I also have a request for an additional program that I would really 
like to see added to the examples directory.  I cannibalized the example-c.c 
code to come up with something that would spell check a file and output 
results to stdout in the error format used by gnu gcc.  I think this or 
something like it would be a really useful example to add for anyone who's 
been wanting to run aspell with a decent programming editor.  Hopefully 
others could help contribute and make it a better and more robust program, 
since the changes I made were quick ones just to get proof of concept.

The diffs for aspell on mingw with msys are included below.  I also have 
some Windows executables.  I have library files in .a format, but 
the ./configure, make, make install process doesn't appear to have created 
any dlls.  I don't remember having any problems installing the English 
dictionary files using the ./configure, make, make install process under 
msys.  If you need executable files and/or library (.a files) packaged a 
certain way, let me know and I can send them to someone if they want to 
distribute them further.  The source code I wrote for better integrating 
aspell with a programming editor is at:  
http://www.distasis.com/cpp/aspellstdout.c
It can be compiled with mingw using the command:
g++ -o aspellstdout.exe aspellstdout.c -I\mingw\msys\local\include -L 
\mingw\msys\lib -L \mingw\msys\local\lib -ldl -laspell -lintl -
lgettextlib.dll -ldl.dll 
I also compiled it on DeLi Linux using the command:
g++ -o aspellstdout aspellstdout.c -I/usr/local/include -L /usr/lib -
L /usr/local/lib -ldl -laspell -lintl
On Windows, I'm using the basic libraries such as libiconv and libintl from 
the GnuWin32 project, http://sourceforge.net/project/gnuwin32  I'm using the 
libdl library from:
http://code.google.com/p/dlfcn-win32/downloads/list
Be sure to add the patch for extern C on the issues page.  That was one of 
the fixes I needed to make to get things to compile.  I'm using the latest 
copy of pdcurses from Sourceforge:  http://sourceforge.net/project/pdcurses  
Don't know if it's needed, but I have my .profile file (used by msys) set up 
as mentioned here:  http://www.distasis.com/cpp/mingw.htm#whatismsys

The examples in the example directory didn't compile when I used the 
makefile.  Was able to get example-c to compile from command line in a 
standard command prompt with the following command:
g++ -o example-c.exe example-c.c  -I\mingw\msys\local\include -L 
\mingw\msys\lib -L \mingw\msys\local\lib -ldl  -laspell -lintl -
lgettextlib.dll -ldl.dll
To run the example-c.exe afterwards, you need libdl.dll, libicon2.dll, 
libintl3.dll in the same directory or in the path.

Here are the patches I needed for mingw and msys:

\mingw\msys\bin\diff \mingw\msys\home\old\aspell-0.60.6\common\config.hpp 
\mingw\msys\home\new\aspell-0.60.6\common\config.hpp
15a16,19
> #ifdef __MINGW32__
> #define libintl_printf printf
> #endif
>

\mingw\msys\bin\diff \mingw\msys\home\old\aspell-0.60.6\common\file
_util.cpp \mingw\msys\home\new\aspell-0.60.6\common\file_util.cpp
15a16
> #include "asc_ctype.hpp"

\mingw\msys\bin\diff \mingw\msys\home\old\aspell-0.60.6
\modules\speller\default\language.cpp \mingw\msys\home\michaelsl\new\aspell-
0.60.6\modules\spell
er\default\language.cpp
23d22
< #ifndef __MINGW32__
26d24
< #endif


Best wishes.
Laura





reply via email to

[Prev in Thread] Current Thread [Next in Thread]