首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

再再问Makefile,涉及C语言封装有关问题

2013-04-20 
再再问Makefile,涉及C语言封装问题工程中文件结构main.c主函数文件a.h/a.cb.h/b.c可参见此贴4楼详细文件结

再再问Makefile,涉及C语言封装问题
工程中文件结构

main.c主函数文件
a.h/a.c
b.h/b.c

可参见此贴4楼详细文件结构.

假设,b是别的项目组同事已经做好的代码.我在我的a源码文件中调用了b.我原来理解的是:
链接a的时候,能把b里的内容也添加到a中,然后链接main的时候,只需要
gcc -o main main.o a.o就行了,结果发现,这样不行,必须在链接main的时候也加到b.o .

这样就有一个问题,假如我的a也作为封装好的库发给别的同事,他又得知道链接main的时候要加上自己的,还要加上a.o,b.o.这样越到后面越麻烦啊.(这里定成同一个公司,直接用其它项目组的源码,是为了不考虑商业卖库封打包成动态链接库的问题)

我想知道专业的做法是什么?
[解决办法]
丰富的文档,以及专门管理Makefile的人,写出来的Makefile都是带参数的.
[解决办法]
可以把a.o/b.o/c.o等等先组合为一个.lib,后续只需要链接这个lib即可。

引用:
工程中文件结构
Plain Text code?123main.c主函数文件a.h/a.cb.h/b.c
可参见此贴4楼详细文件结构.

假设,b是别的项目组同事已经做好的代码.我在我的a源码文件中调用了b.我原来理解的是:
链接a的时候,能把b里的内容也添加到a中,然后链接main的时候,只需要
gcc -o main main.o a.o就行了,结果发现,……

[解决办法]
ar a.o b.o 成一个新的so

热点排行