老是遇到下面的错误,但是在redhat9编译却没有,原因是这样的:
从gcc 3.4.3开始,左值强制类型转换已经在C++中被移除了,在C和Objective-C中则是不赞成的用法。特别地,像下面的代码:
int i;
(char) i = 5;
或者
char *p;
((int *) p)++;
已经不在被C++接受,在以后的版本中也将不被C和Objective-C接受。
因此在编译minigui Lite模式时会出现如下错误:
cursor-lite.c: In function 'InitCursor':
cursor-lite.c:458: error: invalid lvalue in assignment
cursor-lite.c: In function 'TerminateCursor':
cursor-lite.c:482: error: invalid lvalue in assignment
cursor-lite.c: In function 'SetCursorEx':
cursor-lite.c:700: error: invalid lvalue in assignment
类似错误还有:
client.c: In function 'offset_pointers':
client.c:88: error: invalid lvalue in assignment
client.c:91: error: invalid lvalue in assignment
client.c:97: error: invalid lvalue in assignment
client.c:99: error: invalid lvalue in assignment
解决办法如下:
在cursor-lite.c: In function 'InitCursor':中
定义PCURSOR myvar;
将CSR_CURRENT=NULL换成
myvar=CSR_CURRENT; myvar = NULL;
其他错误类似改正即可解决!
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余4页未读,立即下载