ncurses编译:“ stdscr” /lib64/libtinfo.so.6:添加符号时出错

时间:2018-08-20 04:19:45

标签: c ncurses

我正在尝试使用ncurses进行编译,但是出现某种链接错误。为什么?预先感谢您的帮助。

#include <stdlib.h>
#include <ncurses.h>

int main(void)
{
    initscr();
    printw("Hello World!!");
    refresh();
    getch();
    endwin();

    return 0;
}

lore% gcc -o helloworld helloworld.c  -lncurses
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: /tmp/cc37p6Qp.o: un
defined reference to symbol 'stdscr' /lib64/libtinfo.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status

1 个答案:

答案 0 :(得分:1)

找到答案:undefined reference to `stdscr'

我在Centos 6.2上的ncurses程序遇到了这个问题。事实证明,ncurses有时会分为两个库,即 ncurses tinfo 。在我的情况下,stdscr存在于libtinfo中,而不存在于libncurses中,因此在-ltinfo之后将-lncurses添加到链接行可以解决问题。