免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1187 | 回复: 0
打印 上一主题 下一主题

MTK生成LIB [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-21 08:41 |只看该作者 |倒序浏览
MTK生成库(ARM) 过程

第一步,生成真机的obj文件
第二步,找到相关的obj文件 D:\LongCheer\build\LC6225_GEMINI\gprs\MT6225o\mmi_app
第三步,把相关的obj文件拷贝到一个目录下面 D:\lib_temp
第四步,打开命令窗口,输入命令 armar -r temp.lib *.obj 生成 temp.lib 库
第五步,输入命令armar -tv temp.lib 可以看到加入的库
 
 
例:编译完之后--
1、在。。\build\XXX\gprs\MT6223Po下新建一个a文件夹
2、把需要的obj文件放到lexue目录下
3、修改..\make\XXX_MMI_GPRS.mak
在下面这三行后面
ifeq ($(findstring FMT_NOT_PRESENT,$(CUSTOM_OPTION)),)
CUS_REL_SRC_COMP += fmt
endif
添加
CUS_REL_SRC_COMP += a
4、执行命令
make custom=XXX gprs remake
5、找到。。\build\XXX\gprs\MT6223Po\lib
这时a.lib就已经生成好了
6、注意:生成完之后,把第3步聚的东西修改回来,同时把a.lib放到根目录中的a目录下
7、在确定lib生成没问题了,把第一步的a文件夹删除掉
 
----------------------------------------------------------
 
MTK生成lib库(Win32)
 
1. 首先要确定你的电脑上安装了visual c++ 6.0(其他版本没试过),假设我们将vc安装在了C:\Program Files\Microsoft Visual Studio

2. 在桌面上右键点击“我的电脑”---属性---高级---环境变量
3. 在系统变量里找到“path”,双击编辑
4. 在变量值的最后添加“;C:\Program Files\Microsoft Visual Studio\VC98\Bin;C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin”
5. 点击确定
6. 新建一个环境变量,变量名:“INCLUDE”,变量值:“C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE”
7. 再新建一个环境变量,变量名:“LIB”,变量值:“C:\Program Files\Microsoft Visual Studio\VC98\LIB”
8. 确定保存
然后就可以使用VC的link命令来打win32 的lib包了
 
举个例子
将使用vc编译出来的obj文件(注意不是arm编译出来的obj),例如:..\MoDIS\mmi_app\Debug中你需要的obj拷贝到D:\obj下用命令行模式进入该目录,执行 link /lib /out:mylib.lib *.obj就可以生成一个mylib.lib的目标文件
 
 
*************************************************************************
 
Keil的lib生成个人总结
 
1. 生成lib 的工程可以没有main函数,可以只有一个.c文件,一个.c文件中可以只有一个函数
2. 需要在lib工程中建立一个.h文件, 必须用extern声明各全局变量和函数.
3. 调用lib文件的工程中必须包括lib中的.h文件, 也就是lib工程和调用工程都包含同一个.h文件(好像有点废话)
2.Lib的文件要分的细一点,没有调用关系的两个函数不要放到同一个C文件中. 没有调用关系的最好是一个函数单独放在一个.c文件中.这是为了避免在keil中应用程序调用lib库里出现告警.     因为LIB51在链接的时候是按模块来链接的,一个模块就对应一个C文件,假如链接器因为要使用你一个函数fA而引入了A模块,那么A模块中的另外的函数也会被引入,而另外的函数你又没有使用的话,那么就会引发Keil经典的UNCALLED FUNC的warning。
通常为每一个函数编一个.C文件,而整个lib用一个.h文件,这样就可以使只有被调用的函数参与连接
3.调用lib库时需要在工程中将.lib文件加进来. 在Group中右键,然后Add ,注意文件类型中选择*.lib.
 
 
*************************************************************************
 
IAR的lib生成方式参考:
 
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP