I'm having trouble getting some absolute basic work with curses.h done, even though I've worked with it before. I'm sure it's a classic case of missing something small, but I'm at my wit's end.
G++ absolutely won't recognize the functions raw() or cbreak(), even though curses.h is included in my .cpp and header file, and linked to when compiling with (minimal version):
g++ debugC.cpp -lcurses
With the relevant code being:
#include <curses.h>
#include "debugC.h"
#include "machine.h"
using namespace std;
debugC::debugC(machine *BFM){
localMachine = BFM;
}
//entry into debugger
void debugC::start(){
void * v = NULL;
initscr();
raw();
noecho();
}
The errors returned by g++:
/usr/bin/ld: /tmp/cci6mA0L.o: undefined reference to symbol 'raw'
/usr/lib/libtinfo.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
I've stripped this down to minimal functioning code for clarity. It compiles without the call to raw().
curses.h is clearly included, and I've linked against it when compiling. How could it not understand references to some curses functions, and not others?
I've scoured SO and Google for help but I can't seem to find a solution, I'd really appreciate any possible insight. Thanks.