大牛们都过来啊,高分求救,如何将c文件封装成库文件

Holinan 2008-01-31 10:21:57
现在我想将我的一个工程的代码开放部分源码给别人,所以有些.c文件就要封装成库给别人发过去.
有人建议我将那个不能开放源代码的.c文件直接删除,将编译生成的.o留下就可以,我试验了下,有的.c文件删除了确实可以,但有些删除了就编译报错,提示"No rule to make target `test.c'",反正这种方法估计是不行.

大牛们有没有做过类似的啊?有什么好的方法,或者能将.c转成库的好建议或工具啊.先谢谢大牛们啦.
急,在线等~
...全文
956 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
mtk6235 2009-05-26
  • 打赏
  • 举报
回复
armar -create mylib.lib Test1.o Test2.o
Holinan 2008-02-01
  • 打赏
  • 举报
回复
armar -r mylib.a Test1.o Test2.o
这个命令我昨天也查到了,初步验证是OK的.谢谢楼上各位大虾
liyuzhu_1984 2008-01-31
  • 打赏
  • 举报
回复
学习
Holinan 2008-01-31
  • 打赏
  • 举报
回复
怎么编译成静态库啊?是编译生成的.o吗?
编译成的静态库也放在原来那个.c的目录下,然后改写Makefile就可以了?
cfy84 2008-01-31
  • 打赏
  • 举报
回复
把不能公开的代码做成动态库。当然这部分代码不能依赖公开部分的代码,也就是不能调用公开代码里的函数,只能由公开代码调用不公开代码里的函数。换句话说就是做成中间件,既能实现功能,又不用公开代码。
goodluckyxl 2008-01-31
  • 打赏
  • 举报
回复
编译成静态库 提供h就可以了
需要提供源码的直接放在目录下就可以了
我啃 2008-01-31
  • 打赏
  • 举报
回复
错了.lib是要在目标平台上build的,可以把原代码编译后,然后要求目标平台链接
NKLoveRene 2008-01-31
  • 打赏
  • 举报
回复
做成静态链接库文件
带着.h文件给客户
Treazy 2008-01-31
  • 打赏
  • 举报
回复
我说的是在unix下!
在windows下按照K*K所言!
Treazy 2008-01-31
  • 打赏
  • 举报
回复
先将所有的.c和.h文件编译成.o
然后将.o编译成一个.so或者.a
我啃 2008-01-31
  • 打赏
  • 举报
回复
…………部分源代码,奇怪的举动,一般都是暴露.h然后将.c build成.lib发布,要求安装到链接目录下使用~
ltc_mouse 2008-01-31
  • 打赏
  • 举报
回复
bin里面是否有armar或者armlib? 可能可以用~

armar -r mylib.a Test1.o Test2.o
kprzen 2008-01-31
  • 打赏
  • 举报
回复
编译成alf(ARM Object Library Format) 库文件就可以了,具体我没做过,但是ARM的库我用过的好像都是alf的
Holinan 2008-01-31
  • 打赏
  • 举报
回复
arm的ads1.2下的
cfy84 2008-01-31
  • 打赏
  • 举报
回复
gcc -fPI -o libxx.so $(OBJS)
OBJS=所要link的.o文件。
cfy84 2008-01-31
  • 打赏
  • 举报
回复
gcc -fPI-o libxx.so $(OBJS)
OBJS=所要link的.o文件。
Holinan 2008-01-31
  • 打赏
  • 举报
回复
知道arm编译器下生成库文件相应的指令是什么吗?
我是在arm环境下的
ltc_mouse 2008-01-31
  • 打赏
  • 举报
回复
ar命令应该可以完成.o生成.a
ar cqs libTest.a Test1.o Test2.o

70,022

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧