使用AR工具管理库文件需要注意的问题

来源:互联网 发布:sql server 2008 x64 编辑:程序博客网 时间:2024/05/19 13:13

一些工程的Makefile文件常采用递归形式增量产生.a库文件,如:
vxworks5.4中makek采用的是对src中每个叶目录分别编译,然后加入
库中,语句为$(TGT_DIR)/lib/$(LIBNAME): $(LIBOBJS)
                        AR crus .......

这样有两个问题:
1、很多平台下采用AR工具增量方式生成库文件效率低下,还不如在编译完成后,
      每次都重新生成一遍库文件;
2、由于Linux等系统中文件的时间敏感度是比较小的,如果采用递归加入库中的办
    法, cc命令可能很快运行完毕,导致前面刚刚更新过的库文件和现在编译出的.o
   文件时间一样,这样就会导致部分.o文件没有加入库中,后面链接时就会找不到
   相应的函数。

所以,目前在Makefile工程中绝对不应该使用递归增量的方式生成库文件。

原创粉丝点击