【发布时间】:2019-09-04 11:38:12
【问题描述】:
我正在从跨目录放置的多个对象中创建一个静态库。 当我在最终创建的静态库上运行字符串时,我发现用于创建对象的 C 文件的名称及其相对路径也出现在输出中。
我不想公开这些信息。 我在这里想念什么? 我使用的命令是:
ar rcs myLib.a myobj1.o myobj2.o etc
我发现值得一提的是,我将这个库与我使用下面添加的瘦存档方法的其他预建库结合起来
$(AR) cqT final_thin.a lib1.a lib2.a
echo -e 'create final.a\n addlib final_thin.a \nsave\nend' | $(AR) -M
帮助将不胜感激
【问题讨论】:
-
Strip 库中的所有调试信息?请注意,调试库将非常困难。
-
存档本身通常只存储纯目标文件名,没有路径前缀,即使您在将目标文件添加到库时提供了一个。该信息来自目标文件的编译。为什么要删除调试信息?
-
@JonathanLeffler 是的,这就是我想要实现的。 .
标签: c static-libraries unix-ar