一尘不染

在Linux上使用ncurses时的未定义参考

linux

我正在尝试开始在Linux上使用ncurses开发程序。我什至无法获取Hello World示例进行编译。这是代码:

#include <curses.h>

int main()
{         
        initscr();
        printw("Hello, world.");
        refresh();
        getch();
        endwin();
        return 0;
}

当我尝试编译时,我得到:

hello.c:(.text+0x12): undefined reference to `initscr'

对于那些所谓的函数。

我通过apt-get以及下载源代码并进行编译,安装等安装了ncurses。

我已经试过#include这两个curses.hncurses.h

到底是怎么回事?


阅读 368

收藏
2020-06-07

共1个答案

一尘不染

-lcurses链接时是否使用了该选项?

包括头文件可以使代码进行编译(因为编译器从.h文件中知道函数调用的样子),但是链接器需要库文件才能找到要链接到程序中的实际代码。

2020-06-07