`
freespace
  • 浏览: 175426 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

MiniGUI在i386下编译失败(grid.c编译出错)处理

阅读更多
make时出错如下错误:

make[3]: Entering directory `/home/work1/minigui/libminigui-1.3.3/ext/control'
source='grid.c' object='grid.lo' libtool=yes \
depfile='.deps/grid.Plo' tmpdepfile='.deps/grid.TPlo' \
depmode=gcc3 /bin/sh ../../depcomp \
/bin/sh ../../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I./ -I../include -I../../include    -D__MINIGUI_LIB__ -D_REENTRANT -O2 -Wall -Wstrict-prototypes -pipe -DNDEBUG -c -o grid.lo `test -f 'grid.c' || echo './'`grid.c
rm -f .libs/grid.lo
gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I./ -I../include -I../../include -D__MINIGUI_LIB__ -D_REENTRANT -O2 -Wall -Wstrict-prototypes -pipe -DNDEBUG -c grid.c -MT grid.lo -MD -MP -MF .deps/grid.TPlo  -fPIC -DPIC -o .libs/grid.lo
grid.c: In function 'AddCol':
grid.c:626: error: invalid lvalue in assignment
grid.c:627: error: invalid lvalue in assignment
grid.c:638: error: invalid lvalue in assignment
grid.c:639: error: invalid lvalue in assignment
grid.c:667: error: invalid lvalue in assignment
grid.c:668: error: invalid lvalue in assignment
grid.c:680: error: invalid lvalue in assignment
grid.c:681: error: invalid lvalue in assignment
grid.c: In function 'AddRow':
grid.c:733: error: invalid lvalue in assignment
grid.c:734: error: invalid lvalue in assignment
grid.c:745: error: invalid lvalue in assignment
grid.c:746: error: invalid lvalue in assignment
grid.c:774: error: invalid lvalue in assignment
grid.c:775: error: invalid lvalue in assignment
grid.c:788: error: invalid lvalue in assignment
grid.c:789: error: invalid lvalue in assignment
make[3]: *** [grid.lo] 错误 1
make[3]: Leaving directory `/home/work1/minigui/libminigui-1.3.3/ext/control'
make[2]: *** [all-recursive] 错误 1
make[2]: Leaving directory `/home/work1/minigui/libminigui-1.3.3/ext'
make[1]: *** [all-recursive] 错误 1
make[1]: Leaving directory `/home/work1/minigui/libminigui-1.3.3'
make: *** [all] 错误 2

出错文件是位于ext/control/下的grid.c,可能是编译器版本太高了,才会出现这样的错误。

解决方法:
将grid.c中所有类似这样的代码:
      (PGRIDCOLHDR)pCell1->pRowHdr = pRowHdr;
      (PGRIDCOLHDR)pCell1->pColHdr = pCol1;
将前面的强制类型转换去掉就可以编译通过了。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics