gpt4 book ai didi

c++ - 我怎么知道哪些库被动态链接到静态库中?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:34:59 26 4
gpt4 key购买 nike

假设我有一个 libmy.a 静态库,我想知道它动态链接了哪些库。实际上我需要以下内容:我将创建一个新的动态库,比如 libmy2.so,它将链接一个 .o 文件(目标文件)和 libmy.a。所以我想知道哪些库最终会加载 libmy2.so。

最佳答案

静态库不链接其他库,无论是静态库还是动态库。

好的,假设有两个 C++ 文件,a.cp​​p 和 b.cpp。

g++ -c a.cpp -o a.o         // compile a.cpp to a.o
rm -f lib1.a // no existing lib1.a (this is not essential)
ar rvs lib1.a a.o // create library lib1.a and add a.o to it
g++ -c b.cpp -o b.o // compile b.cpp to b.o
ar rvs lib1.a b.o // ad b.o to existing lib1.a

您显然可以在阶段之间进行任意数量的复制,以生成具有您想要的名称的库。你也可以这样做

ar --help

获取可能会略微简化流程的 ar 选项。坦率地说,这是一个我几乎从不使用的命令,除了从对象列表构建静态库。

关于c++ - 我怎么知道哪些库被动态链接到静态库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6148637/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com