gpt4 book ai didi

c++ - GCC 如何从静态库导出函数

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

我想在 OS X 下使用 GCC 从几个静态库创建一个共享库。

在一些静态库中,共享库中没有调用它的代码,我只想导出这些静态库中的符号。这在 Debug模式下有效,但在 Release模式下无效(尤其是当我启用死代码 strip 化时)。我能理解原因,gcc 认为这些静态库上的函数从未被使用过。但是我怎样才能强制 gcc 包含这些符号呢?

我已经尝试为加载程序添加 -u 选项,但它只会生成一个“本地”符号。如何让链接器生成导出符号?

此外,我想知道是否有办法在源代码中添加链接器指令,就像 MSVC #pragrma comment(linker, "/INCLUDE:xxxx")

我在静态库中定义的函数是这样的:

extern "C"
void test() {}

提前致谢!-强尼

最佳答案

你试过--whole-archive了吗?

关于c++ - GCC 如何从静态库导出函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1016191/

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