我正在运行Ubuntu 12.04,目前在进行涉及C,OpenGL,茶壶和输入法的项目。
问题出现在我决定将箭头键作为输入时。我检查了箭头键的键码,但所有箭头都返回0。我查找了如何解决这个问题,并找到了conio.h。不幸的是,它是一个旧的DOS头文件,在Linux上不可用。然后我找到了一个名为ncurses的替代品。
通过仔细遵循构建说明,安装了必要的库,在我的main.c源代码中包含了curses.h。当我第一次尝试使用gcc编译时,我遇到了以下错误:
main.o:main.c:function _Key: error: undefined reference to 'stdscr'
main.o:main.c:function _Key: error: undefined reference to 'wgetch'
main.o:main.c:function _Key: error: undefined reference to 'stdscr'
main.o:main.c:function _Key: error: undefined reference to 'wgetch'
我通过在makefile中添加-lncurses找到了解决方法,如下所示:
SOURCES=main.c
main: main.o
gcc -lm -lGL -lGLU -lglut -lncurses main.o -o main
main.o: main.c
gcc -lm -lGL -lGLU -lglut -c main.c
但是我遇到了另一个错误:
/usr/bin/ld: error: cannot find -lncurses
除了之前的错误,还有这个错误。
我花了最近两天的时间在Ubuntu论坛和StackOverFlow上搜索。感谢任何帮助。
顺便说一下,我不知道这是否重要,但当我尝试运行/usr/bin/ld时,我会得到以下错误:
ld: fatal error: no input files