|
|
1
26
您可以使用以下命令从每个库中提取对象文件:
然后将它们合并到一个新的库中
|
|
|
2
9
在类Unix系统上,ld和ar实用程序可以做到这一点。退房 http://en.wikipedia.org/wiki/Ar_(Unix) 或者在任何linux机器上或通过google查找手册页,例如“unix man ar”。 请注意,您最好链接到共享(动态)库。这会给可执行文件添加依赖项,但会大大减小其大小,尤其是在编写图形应用程序时。 |
|
|
3
7
或者如果你能保持
在Windows上,使用MSVC工具链:
|
|
|
4
0
也许我误解了,但是如果最终用户代码直接调用LIB,您不需要只发送LIB吗?如果所有对Jpeg方法等的访问都来自静态库中的代码,那么只需将库链接到库中即可。 即。
例如,如果应用程序代码有调用libz.a的合法需要,那么如上所述,这将是使用动态模块的情况。
|
|
|
5
0
我不知道如何将它们物理地合并到一个文件中,但是您可以使用某种抽象,只包含一个“AllMyLibs.a/h”,它反过来包含您想要的所有内容。您还可以将它放在编译器搜索库的位置,这样它就可以用于任何项目。 顺便问一下,出于好奇,你为什么不喜欢包含单张LIB? |
|
|
6
-2
将多个第三方库合并为一个库可能会给您带来更多问题——例如,如果其中两个库定义了一个程序不使用的公共符号。现在,您必须在合并库之前提取公共符号的所有(或除一个之外的所有)实例。 |
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 1 年前 |
|
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 1 年前 |
|
|
Bobby · 复合字面值总是左值吗? 1 年前 |
|
9-Pin · C: 嵌套结构的堆栈内存分配 1 年前 |