You need to pass -l
options at the end of the command line:
gcc -static hello_curses.c -o curses -lncurses
When the compiler encounters -lfoo
, it links in all the symbols from foo
that have been requested by a previous file. If you put -lfoo
at the beginning, no symbol has been requested yet, so no symbol gets linked.