ncurses库编译错误
问题描述:
我已经看过这个网站类似的问题和一派为什么发生这种情况,但尝试了这些解决方案not able to compile,difference between ncurses and curses,another compile error,但我仍然有错误undefined reference to stdscr
和wgetch
编译器发现问题图书馆,据我所知,因为我用find
来找到curses库并输入#include
行中的完整位置。ncurses库编译错误
我的代码如下
#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;
}
如果你能指出我已经错过了还是做错了,我会非常感激。
答
ncurses.h
是一个头文件(包含声明),而不是一个库(包含实现这些声明的代码)。
您看到的错误信息来自链接器,而不是编译器。
如果你正在使用gcc,你需要或者-lcurses
或-lncurses
添加到编译器命令行(后源文件名)。
例如,我的系统上我复制你的源c.c
,我可以编译和使用任何
gcc c.c -o c -lcurses
或
gcc c.c -o c -lncurses
感谢所有好的链接。现在程序不起作用,但我可以修复哈哈 – UNECS 2012-04-21 02:55:40