LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 671|回复: 1

Fcitx-3.0.0 FreeBSD 4.10 编译报错,需要更改createPYMB.c中变量定义位置才能编译

[复制链接]
发表于 2004-10-11 11:53:50 | 显示全部楼层 |阅读模式
不知道是不是 Bug ,我使用的是 FreeBSD 4.10 。下载的fcitx-3.0.0 编译的时候,系统自带的gcc报告 createPYMB.c 中 第270 行,第271行变量定义什么警告。然后又报告 这两行定义的变量s、tt 没有定义。看源码确实定义了,但是很奇怪不是定义在void CreatePYBase (void) 函数开始,而是中间的位置,刚好是 第270行与第271行。
int             s = 0;
int             tt = 0;
大致浏览了改函数,之前没有其他重复的定义,所以,将这两行搬到函数开始的位置,
void CreatePYBase (void)
{
    _PyStruct      *head, *pyList, *temp, *t;
    char            strPY[7], strHZ[3], strMap[3];
    int             iIndex, iCount, i;
    int             iBaseCount;
    int             s = 0;
    int             tt = 0;
....
}
再次编译,就正常通过了。使用了半个月,没有问题。自己平时也是用C的,给mcu编程。但是不懂unix下编程。个人觉得,这个变量定义的位置不太合乎C惯例,但是似乎谈不上错误。可能是 FreeBSD 自带的 Gcc 编译选项太严什么的原因。希望能够更正。如果有误,那见笑了
不知道如何能够反映给开发者,只好发到这里了。抱歉
发表于 2004-10-11 21:40:09 | 显示全部楼层
谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表