ncurses库编译错误

Posted

技术标签:

【中文标题】ncurses库编译错误【英文标题】:ncurses library compile error 【发布时间】:2021-12-07 01:53:09 【问题描述】:

我在这个网站上查看了类似的问题,并用谷歌搜索了为什么会发生这种情况,但尝试了这些解决方案not able to compile、difference between ncurses and curses、another compile error,但我仍然遇到错误undefined reference to stdscr 和@ 的问题987654325@ 编译器正在查找库,因为我使用find 来定位curses 库并在#include 行中输入完整位置。

我的代码如下

#include <ncurses.h>
#include <stdio.h>
#include <string.h>

int first_line(char);
int main()

    char c = 0;

    while((c = getch())!=EOF)
        first_line(c);

       

    return 0;


int first_line(char c)
    if (c != '\n' && c != '\r')
            putchar(c);
        do
            c = getch();
            putchar(c);
            while( c !='\n');

    
    else return 0;

    return 0;

如果您能指出我错过了什么或做错了什么,我将不胜感激。

【问题讨论】:

【参考方案1】:

ncurses.h 是头文件(包含声明),而不是库(包含实现这些声明的代码)。

您看到的错误消息来自链接器,而不是编译器。

如果您使用 gcc,则需要将 -lcurses-lncurses 添加到编译器命令行(您的源文件名之后)。

例如,在我的系统上,我将您的源代码复制到了c.c,然后我可以使用任一方法编译和链接它

gcc c.c -o c -lcurses

gcc c.c -o c -lncurses

【讨论】:

谢谢大家。现在该程序无法正常工作,但我可以修复大声笑

以上是关于ncurses库编译错误的主要内容,如果未能解决你的问题,请参考以下文章

错误记录编译 Linux 内核报错 ( Unable to find the ncurses package. )

Linux 内核编译 Linux 内核 ③ ( 安装 ncurses | 安装 flex | 安装 bison | 打开 Linux 内核编译配置菜单 )

ncurses交叉编译

ncurses交叉编译

linux编译内核make menuconfig报错Unable to find the ncurses libraries解决办法

ubuntu16.04安装ncurses-devel