5.1.2.3. nconf.c:1521:2: error: lvalue required as left operand of assignment

错误现象:

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);

            

详见:

【已解决】Cygwin下make编译crosstool-ng出错:nconf.c:1521:2: error: lvalue required as left operand of assignment