错误现象:
cygwin下make编译crosstool-ng出错:
Administrator@PC-20130611GART /home/develop/crosstool-ng/crosstool-ng-1.18.0 $ make LDFLAGS="-lintl -lcurses" GEN 'config/configure.in' GEN 'paths.mk' GEN 'paths.sh' LD 'mconf' CC 'nconf.o' nconf.c: In function 'main': nconf.c:1521:2: error: lvalue required as left operand of assignment Makefile:95: recipe for target `nconf.o' failed make[2]: *** [nconf.o] Error 1 Makefile:160: recipe for target `build-lib-kconfig' failed make[1]: *** [build-lib-kconfig] Error 2 Makefile:120: recipe for target `build' failed make: *** [build] Error 2
原因:
nconf.c中(不知何故)无法找到对应的宏ESCDELAY,导致此处的代码:
ESCDELAY = 1;
变成一个未知的变量的左赋值,所以报此错误。
解决办法:
把对应的出错的文件:
crosstool-ng-1.18.0\kconfig\nconf.c
修改为:
//ESCDELAY = 1; set_escdelay(1);
详见: