undefined reference to `initscr'

Linux程序设计(第4版), 6.2 curse术语和概念一节中有这么一个程序:

#include <unistd.h>
#include <stdlib.h>
#include <curses.h>

int main()
{
    initscr();
    move(5, 15);    //y值(行号)在前、x值(列号)在后
    printw("%s", "Hello, World");
    refresh();

    sleep(2);
    endwin();
    exit(EXIT_SUCCESS);
}

Ubuntu18中使用gcc -o screen1 screen1.c编译后出现以下错误:
在这里插入图片描述
经测试, 通过链接ncurses库来修复它, 使用gcc -o screen1 screen1.c -l curses 或者 gcc -o screen1 screen1.c -lncurses 可以编译通过, 运行 ./screen1:
在这里插入图片描述
欢迎扫描关注我的微信公众号, 及时获取最新文章:
在这里插入图片描述

发布了204 篇原创文章 · 获赞 110 · 访问量 40万+

猜你喜欢

转载自blog.csdn.net/weifengdq/article/details/105198233