请教一个编译skyeye-v1.2_Rel出现的问题
用的cygwin环境,安装包是http://gro.clinux.org/frs/download.php/1330/cygwin-for-skyeye-allinone.tar.bz2
没有使用任何编译参数,直接make,编译了一段时间以后报了下面的错误
device/lcd/skyeye_lcd.c: In function `lcd_setup':
device/lcd/skyeye_lcd.c:70: warning: assignment from incompatible pointer type
device/lcd/skyeye_lcd.c:71: warning: assignment from incompatible pointer type
device/lcd/skyeye_lcd.c:79: warning: assignment from incompatible pointer type
device/lcd/skyeye_lcd.c:80: warning: assignment from incompatible pointer type
make: *** No rule to make target `binary/dev_lcd_ep7312.o', needed by `binary/libdev.a'.Stop.
如果选择make NO_LCD=1就能够编译通过,请教一下这是什么问题? 刚才又试了一下,使用同样的环境编译skyeye-1.2-RC8没有任何问题 Thanks, doyou like to report bug on http://sourceforge.net/tracker/?group_id=85554&atid=576533 好的,我已经提交bug了,不过好像skyeye在sourceforge上的bug管理系统还没怎么用起来啊,选项都是一些空的,呵呵 Thanks. I will improve it.... just need more time. 目前lcd_read和lcd_write基本没有再用,在gcc下应该也只是警告而已,
从上述你给出的结果看,是因为没能编译dev_lcd_ep7312.c,
或许你要升级一下 gcc 了,我刚测试过,直接 make 没有问题。
如果有错,可按下面更改skyeye_lcd.c(下面的第1行为其中的第65行)。
#ifdef GTK_LCD
case LCD_MOD_GTK:
lcd_dev->lcd_open = gtk_lcd_open;
lcd_dev->lcd_close = gtk_lcd_close;
lcd_dev->lcd_update = gtk_lcd_update;
lcd_dev->lcd_read = (int (*)(struct lcd_device*, void*, size_t))gtk_lcd_read;
lcd_dev->lcd_write = (int (*)(struct lcd_device*, void*, size_t))gtk_lcd_write;
break;
#endif
#ifdef WIN32_LCD
case LCD_MOD_WIN32:
lcd_dev->lcd_open = win32_lcd_open;
lcd_dev->lcd_close = win32_lcd_close;
lcd_dev->lcd_update = win32_lcd_update;
lcd_dev->lcd_read = (int (*)(struct lcd_device*, void*, size_t))win32_lcd_read;
lcd_dev->lcd_write = (int (*)(struct lcd_device*, void*, size_t))win32_lcd_write;
break;
#endif
如果你没有 GTK,把 Makefile 中如下面蓝色的一行注释掉:
ifndef NO_LCD
ifeq ($(OSTYPE),msys)
WIN32_LCD = 1
else
# GTK_LCD = 1
ifeq ($(TERM),cygwin)
WIN32_LCD = 1
endif
endif
endif # !NO_LCD
OK,问题已经解决。重新从网上下载了一份,解压缩,编译通过,估计是解压缩的时候出现了什么问题。谢谢版主了
页:
[1]