gpt4 book ai didi

gcc - 直接告诉 gcc 静态链接库

转载 作者:行者123 更新时间:2023-12-03 04:36:47 25 4
gpt4 key购买 nike

使用 -Wl,-Bstatic 来告诉 gcc 我想要静态链接哪些库对我来说感觉很奇怪。毕竟,我直接告诉 gcc 有关与库链接的所有其他信息(-Ldir-llibname)。

是否可以直接告诉 gcc 驱动程序应该静态链接哪些库?

澄清:我知道,如果某个库仅以静态版本存在,它将在没有 -Wl,-Bstatic 的情况下使用它,但我想暗示 gcc 更喜欢静态库。我还知道直接指定库文件会与其链接,但我更喜欢保持包含静态和动态库的语义相同。

最佳答案

使用-l:而不是-l。例如 -l:libXYZ.alibXYZ.a 链接。请注意,lib.a 被写出,而不是 -lXYZ ,它会自动扩展为 libXYZ.so/libXYZ.a.

这是一个 option of the GNU ld linker :

-l namespec ... If namespec is of the form :filename, ld will search the library path for a file called filename, otherwise it will search the library path for a file called libnamespec.a. ... on ELF ... systems, ld will search a directory for a library called libnamespec.so before searching for one called libnamespec.a. ... Note that this behavior does not apply to :filename, which always specifies a file called filename."

(自 binutils 2.18 )

请注意,这仅适用于 GNU 链接器。如果您的 ld 不是 GNU 的,那么您就不走运了。

关于gcc - 直接告诉 gcc 静态链接库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6578484/

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