當我編譯這段代碼,我得到以下的gcc錯誤:未定義的引用功能的libncurses
/tmp/ccUigsI6.o: In function `main':
/home/matt/Dropbox/school/2011/cs3210/test/sizeterm.c:9: undefined reference to `setupterm'
/home/matt/Dropbox/school/2011/cs3210/test/sizeterm.c:10: undefined reference to `tigetnum'
/home/matt/Dropbox/school/2011/cs3210/test/sizeterm.c:11: undefined reference to `tigetnum'
collect2: ld returned 1 exit status
make: *** [sizeterm] Error 1
下面的代碼:
#include <stdio.h>
#include <term.h>
#include <curses.h>
#include <stdlib.h>
int main()
{
int nrows, ncolumns;
setupterm(NULL, fileno(stdout), (int *)0);
nrows = tigetnum("lines");
ncolumns = tigetnum("cols");
printf("This terminal has %d columns and %d rows\n", ncolumns, nrows);
exit(0);
}
的libncurses正確安裝在我的機器上。我得到了我的Arch Linux筆記本電腦以及我學校安裝的Ubuntu服務器的相同結果。這段代碼直接從書中提取出來。難道我做錯了什麼?我做了一些Google搜索,看起來好像之前有人遇到過這個問題,但我無法縮小解決方案的範圍。