Mail Archives: cygwin/2001/04/14/00:29:02
Felix Natter wrote:
>
> hi,
>
> when I try to compile a simple (n)curses program using cygwin,
> I get lots of "undefined reference"-messages, one for each ncurses function,
> but with a "impl_" prepended (i.e. impl_waddch).
You probably mean "_imp_" is prepended. The problem is a mismatch
between your compilation command and your link command. Apparently, you
did this:
(compile): gcc -c foo.c -o foo.o
and one of the following:
(link ): gcc -static -o foo.exe foo.o -lncurses
(link ): gcc -o foo.exe foo.o /usr/lib/libncurses.a
That is, you compiled with the default flags, which set things up for
dll linking, but then explicitly linked to the static library (by
specifying -static, or listing the static lib on the command line
directly).
If you want static linking, then you must compile all your object files
with the -DNCURSES_STATIC flag:
(compile): gcc -DNCURSES_STATIC -c foo.c -o foo.o
then link as above.
If you want dynamic linking, then compile normally (no _STATIC flags)
but link as follows:
(link ): gcc -o foo.exe foo.o -lncurses (no -static flag, or)
(link ): gcc -o foo.exe foo.o /usr/lib/libncurses.dll.a
You will probably find /usr/doc/Cygwin/ncurses-5.2.README of interest,
as well as the cygwin-announce messages referenced in that README.
--Chuck
--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple
- Raw text -