ncurses库编译错误

时间:2012-04-21 02:21:56

标签: c compiler-errors ncurses

我在这个网站上查看了类似的问题并搜索了为什么会发生这种情况,但尝试了这些解决方案not able to compiledifference between ncurses and cursesanother compile error,但我仍然遇到问题错误undefined reference to stdscrwgetch编译器正在找到库,因为我使用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 个答案:

答案 0 :(得分:2)

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

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

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

例如,在我的系统上,我将您的源代码复制到c.c,我可以使用

编译和链接它
gcc c.c -o c -lcurses

gcc c.c -o c -lncurses