Click to See Complete Forum and Search --> : ncurses; /tmp/ccQqt8RM.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v


Cerf
01-21-2005, 09:37 PM
Hey,

I am trying to learn how to use the ncurses library, but I cannot get a simple hello world application to compile


#include <ncurses.h>

int main()
{
initscr(); /* Start curses mode */
printw("Hello World !!!"); /* Print Hello World */
refresh(); /* Print it on to the real screen */
getch(); /* Wait for user input */
endwin(); /* End curses mode */

return 0;
}


the error

cerf@loki:~$ gcc hello.cpp -lncurses
/tmp/ccQqt8RM.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status


I am assuming that I have ncurses

cerf@loki:~$ slocate ncurses
/lib/libncurses.so.5
/lib/libncurses.so.5.4
/lib/libncursesw.so.5
/lib/libncursesw.so.5.4
/opt/kde/share/apps/quanta/dtep/php/ncurses.tag
/var/log/packages/ncurses-5.4-i486-2
/var/log/scripts/ncurses-5.4-i486-2
/usr/doc/ncurses-5.4
/usr/doc/ncurses-5.4/c++
/usr/doc/ncurses-5.4/c++/NEWS
/usr/doc/ncurses-5.4/c++/PROBLEMS
/usr/doc/ncurses-5.4/c++/README-first
/usr/doc/ncurses-5.4/NEWS
/usr/doc/ncurses-5.4/TO-DO
/usr/doc/ncurses-5.4/README
/usr/doc/ncurses-5.4/README.emx
/usr/doc/ncurses-5.4/ANNOUNCE
/usr/doc/ncurses-5.4/INSTALL
/usr/doc/ncurses-5.4/MANIFEST
/usr/doc/python-2.3.4/Demo/curses/ncurses.py
/usr/lib/libncurses++w.a
/usr/lib/libncurses++.a
/usr/lib/libncursesw.so
/usr/lib/libncurses.so
/usr/lib/libncursesw.a
/usr/lib/libncurses.a
/usr/man/man3/ncurses.3x.gz
/usr/include/ncurses
/usr/include/ncurses/cursesapp.h
/usr/include/ncurses/unctrl.h
/usr/include/ncurses/eti.h
/usr/include/ncurses/curses.h
/usr/include/ncurses/etip.h
/usr/include/ncurses/form.h
/usr/include/ncurses/ncurses.h
/usr/include/ncurses/menu.h
/usr/include/ncurses/cursesf.h
/usr/include/ncurses/cursesm.h
/usr/include/ncurses/cursesp.h
/usr/include/ncurses/cursesw.h
/usr/include/ncurses/term.h
/usr/include/ncurses/cursslk.h
/usr/include/ncurses/termcap.h
/usr/include/ncurses/panel.h
/usr/include/ncurses/ncurses_dll.h
/usr/include/ncurses.h
/usr/include/ncurses_dll.h


Any suggestions?

Cerf
01-21-2005, 09:41 PM
silly me i was useing gcc when I should have been using g++

madcompnerd
01-21-2005, 11:59 PM
Wierd...I could have sworn gcc invokes g++ when it runs into *.cpp.... Maybe I was wrong.

cybertron
01-22-2005, 12:13 AM
I don't know why, but I've run into the same thing. I thought gcc automatically handled C++, but discovered that C++ programs wouldn't compile in gcc and would in g++. Maybe there's a switch you need to pass gcc to tell it you're sending C++ code. Only a guess though, since I just use g++ now:)

psi42
01-22-2005, 02:33 AM
That's not c++


I gave it a try, and apparently gcc generates this error if your source file is of the extension .cpp instead of .c, like it should be...

I'm not sure why it exhibits this behavior, but



gcc test.c -o test -lncurses

Works on my machine...

:)

Don't let anyone belittle ncurses, by the way. Some really great programs, like naim, are built with it.

~psi42

madcompnerd
01-22-2005, 02:38 PM
Yes, but ncurses is a whore to work with. A frontend to it that automates a lot of it would be really cool. Someone, other than me, should write one!