关于动态库和静态库的问题,谢谢
在first文件夹下包含如下文件first
1.c
2.c
在second文件下包含如下文件
second
3.c
4.c
--------------------------------------------------------------------------------
假设编译成如下的静态库:
first.a
second.a
first.a中包含1.o,2.o
second.a中包含3.o,4.o
我现在执行这样的命令:ar rcs total.a first.a second.a
结果可以得到total.a这个库。
但是我执行命令:ar tv total.a时,结果如下:
rw-r--r-- 0/023560 Nov 13 14:47 2006 first.a
rw-r--r-- 0/0 103812 Nov 13 14:47 2006 second.a
我想得到的是这样的结果
rw-r--r-- 0/023560 Nov 13 14:47 2006 1.o
rw-r--r-- 0/0 103812 Nov 13 14:47 2006 2.o
rw-r--r-- 0/0 103812 Nov 13 14:47 2006 3.o
rw-r--r-- 0/0 103812 Nov 13 14:47 2006 4.o
请问如何做到!谢谢
另外的问题是如何把这些*.o文件,编译成一个动态库,谢谢! man gcc
看看其中的shared参数 好像没有理解我的意思 .a => .o
ar x first.a
.a => .so
ld --whole-archive -shared -o total.so total.a 谢谢 AnthonyLee的回答,第二个问题已经解决!
第一个问题是,有两个*.a文件,假设为
first.a和second.a,
first.a中包含1.o,2.o
second.a中包含3.o,4.o
现在我想通过这两个*.a文件生成个新的.a文件,我通过这个命令
ar rcs total.a first.a second.a
但是我执行命令:ar tv total.a时,结果如下:
rw-r--r-- 0/0 23560 Nov 13 14:47 2006 first.a
rw-r--r-- 0/0 103812 Nov 13 14:47 2006 second.a
我想得到的是这样的结果
rw-r--r-- 0/0 23560 Nov 13 14:47 2006 1.o
rw-r--r-- 0/0 103812 Nov 13 14:47 2006 2.o
rw-r--r-- 0/0 103812 Nov 13 14:47 2006 3.o
rw-r--r-- 0/0 103812 Nov 13 14:47 2006 4.o
请问如何做到!谢谢
也就是把两个.a库中的目标文件,放到新生成的.a文件中!谢谢!
页:
[1]