arm中由obj文件生成lib文件

列出内容表(冗余)
armar -tv mylib

 

列出符号表
armar --zs mylib

 

添加(或替换)文件
armar -r mylib obj1.o obj2.o obj3.o ...
armar -ru mylib k*.o

 

在指定位置添加(或替换)文件 armar -r -a obj2.o mylib obj3.o obj4.o ...

 

提取一组文件
armar -x mylib k*.o

删除一组文件
armar -d mylib sys_*

 

合并库并添加(或替换)文件
armar -r mylib my_lib.a other_lib.a obj1.o obj2.o obj3.o

 

 

 

 

MTK生成lib库(ARM)
第一步,生成真机的obj文件
第二步,找到要生成lib库的相关的obj文件,例如:..\build\LC6225_GEMINI\gprs\MT6225o\mmi_app
第三步,把相关的obj文件拷贝到一个目录下面 D:\lib_temp
第四步,命令模式进入lib_temp文件,输入命令 armar -r temp.lib *.obj 生成 temp.lib 库
第五步,输入命令armar -tv temp.lib 可以看到加入的库中的具体是哪些源文件的obj

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的目标文件

 

小结:

生成WIN32的LIB库(VC6生成的OBJ)
link /lib /out: mylib.lib *.obj

生成arm的LIB库(arm生成的OBJ)
armar -r mylib.lib *.obj

arm 下生成的LIB,在WIN32下是不能用的,故要生成两个LIB

posted @ 2012-11-05 18:40  szgzwc  阅读(583)  评论(1编辑  收藏  举报