gpt4 book ai didi

c - 如何解决冲突的链接器依赖项?

转载 作者:太空狗 更新时间:2023-10-29 17:03:02 25 4
gpt4 key购买 nike

如果我有两个库,A.libB.lib,它们都导出 foobar,如何告诉链接器使用 A.lib 中的符号 fooB.lib 中的符号 bar ?

最佳答案

你不能。对于您的示例,您可以从 foo.libbar.lib 中获得定义,但不能同时从两者中获得定义(特别是如果您无法重新编译库并设置符号可见性,以便只有您想要导出)。您将它们链接到您的应用程序的顺序将取决于使用哪个库的定义(您必须使用科学方法,我认为第一个链接的方法获胜)。 Niklas Hansson 的回答是动态执行此操作的好方法,但您似乎也不想修改原始应用程序来动态挑选/选择要从库中取出的符号。

如果您真的想要,您可以使用十六进制编辑器修改符号表,以便您不想导出的符号具有不同的名称(hacky,但它会起作用)。我知道在 Linux 上有一个名为 objcopy 的工具可以让您执行此操作(Windows 不确定)。

关于c - 如何解决冲突的链接器依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8966357/

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