Date: Mon, 06 Jan 1997 20:35:41 +1100 (EST) From: peter.jeremy@alcatel.com.au To: FreeBSD-gnats-submit@freebsd.org Subject: bin/2382: curses.h / -lcurses incompatible with C++ Message-ID: <199701060935.UAA27320@vk2pj.alcatel.com.au> Resent-Message-ID: <199701060940.BAA23260@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 2382 >Category: bin >Synopsis: curses.h / -lcurses incompatible with C++ >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Jan 6 01:40:03 PST 1997 >Last-Modified: >Originator: Peter Jeremy >Organization: Peter Jeremy (VK2PJ) peter.jeremy@alcatel.com.au Alcatel Australia Limited 41 Mandible St Phone: +61 2 9690 5019 ALEXANDRIA NSW 2015 Fax: +61 2 9690 5247 >Release: FreeBSD 2.1-STABLE i386 >Environment: none >Description: The prototypes in /usr/include/curses.h are not protected in an extern "C" {} block. This causes C++ programs using -lcurses to report undefined symbols during linking. >How-To-Repeat: $ cat > x.C <<__EOF__ #include "curses.h" // since > < gets eaten int main(int argc, char **argv) { WINDOW *w; w = initscr(); } __EOF__ $ gcc x.C -lcurses /tmp/cc0142051.o: Undefined symbol `_initscr__Fv' referenced from text segment $ >Fix: *** /cdrom/usr/src/lib/libcurses/curses.h Sat Sep 2 13:41:59 1995 --- /usr/src/lib/libcurses/curses.h Wed Dec 11 20:43:18 1996 *************** *** 277,282 **** --- 277,283 ---- #define winch(w) \ ((w)->lines[(w)->cury]->line[(w)->curx].ch & 0377) + __BEGIN_DECLS /* Public function prototypes. */ int box __P((WINDOW *, int, int)); int cbreak __P((void)); *************** *** 388,392 **** --- 389,394 ---- int tgetflag __P((const char *)); char *tgetstr __P((const char *, char **)); char *tgoto __P((const char *, int, int)); + __END_DECLS #endif /* !_CURSES_H_ */ (And the same change to /usr/include/curses.h) >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199701060935.UAA27320>