I'm trying to start developing a program using ncurses on Linux. I can't even get the Hello World example to compile. Here's the code:
#include <curses.h>
int main()
{
initscr();
printw("Hello, world.");
refresh();
getch();
endwin();
return 0;
}
When I attempt to compile, I get:
hello.c:(.text+0x12): undefined reference to `initscr'
For every one of those called functions.
I installed ncurses via apt-get, and also by downloading the sources and compiling, installing, etc.
I have tried #include
both curses.h
and ncurses.h
.
What is going on?
Have you used the -lcurses
option when linking?
Including the header files let the code compile (because the compiler knows what the function call looks like from the .h
file), but the linker needs the library file to find the actual code to link into your program.