找回密码
 注册
搜索
查看: 819|回复: 10

[讨论] 编译BUG的高手进来

[复制链接]
发表于 2010-5-25 11:20:46 | 显示全部楼层 |阅读模式
编译到VERNO后出现MMI_FRAMEWORK错误

LOG文件里没其他的ERROR,就在最后
Error: L6850E: Archive contains non ELF Object Armenian.obj
make[2]: *** [build/XXXX23C_09A/gprs/MT6223Po/lib/mmi_framework.lib] Error 1
make[2]: Leaving directory `D:/Work/KL01S1'

也不知道是哪里产生错误了,重新NEW也不行
发表于 2010-5-25 12:21:51 | 显示全部楼层
应该是少个endif

慢慢找
点评回复

使用道具 举报

 楼主| 发表于 2010-5-25 13:05:45 | 显示全部楼层
已经解决,不过不是LS说的原因

具体怎么解决掉的,我也摸不着头脑了。

好像是B函数调用一个函数A

我吧EXTERN A;写在B函数里面造成的



以下两种写法有什么不同吗?


1:
extern FUNC_A;

VOID  FUNC_B(VOID)
{
  FUNC_A;
}



2:
VOID  FUNC_B(VOID)
{
   extern FUNC_A;
  FUNC_A;
}
点评回复

使用道具 举报

发表于 2010-5-25 16:31:24 | 显示全部楼层
应该没有吧!差不多意思吧!
点评回复

使用道具 举报

发表于 2010-5-25 17:16:58 | 显示全部楼层
谢谢分享。,嘿嘿
点评回复

使用道具 举报

发表于 2010-5-25 17:19:02 | 显示全部楼层
没见过第2种写法,通常都是照1写的
点评回复

使用道具 举报

发表于 2010-5-25 17:23:20 | 显示全部楼层
我也碰到过的,还不只一次的,没有找到根本原因的!
点评回复

使用道具 举报

发表于 2010-5-25 23:24:48 | 显示全部楼层
2:
VOID  FUNC_B(VOID)
{
.......
    {
       extern FUNC_A;
       FUNC_A;
     }
......
}

这样应该不会有错,我觉得你在函数内extern时,应该用{}括起来
点评回复

使用道具 举报

发表于 2010-5-26 06:32:14 | 显示全部楼层
以前使用分布式编译时经常遇到,处理方法是删除生成的obj文件再remake
点评回复

使用道具 举报

发表于 2010-5-26 10:20:08 | 显示全部楼层
分布式编译是会出怪问题,各客户机上的文件版本偶尔会产生不同步
点评回复

使用道具 举报

发表于 2010-5-27 00:51:06 | 显示全部楼层
2:
VOID  FUNC_B(VOID)
{
.......
    {
       extern FUNC_A;
       FUNC_A;
     }
......
}

这样应该不会有错,我觉得你在函数内extern时,应该用{}括起来
===============================================================
正解。得放到模块中
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2025-2-26 04:36 , Processed in 0.050714 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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