c++ - 强制链接未使用的共享库

标签 c++ linux gcc

从 gcc 4.5 移至 gcc 4.6,现在它不会链接到编译时未使用的库(即,如果没有从中导入符号)。

然而,这些库的目的是它们执行静态构造函数,从而使它们在运行时可用于应用程序(注册它们的符号)。

有没有办法强制 gcc 链接到通过 -l 列出的所有库?

最佳答案

看起来您需要 -Wl,--no-as-needed 来完全禁用它。或者,--no-as-needed -lfoo --as-needed 仅针对 libfoo 禁用“按需”。

来源:https://lists.ubuntu.com/archives/ubuntu-devel/2010-November/031991.html

关于c++ - 强制链接未使用的共享库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11631161/

相关文章:

c++ - 在OpenCV中将uchar Mat转换为float Mat?

python - 如何在python中将unsigned char类型的int字符串转换为int

c++ - gcc 错误消息库

php - UTF-8贯穿始终

linux - 在 Makefile 中设置环境变量

c++ - 指针c++解释

linux - 编写 Shell 脚本 - 可以打印错误并可以继续保留您刚刚在命令行中运行的输入

c - GCC 编译错误 : "error: expected specifier-qualifier-list before..." from variadic macro

c - 函数 ‘gmtime_r’ 的隐式声明

c++ - 如何在 nasm 中创建静态库并与 gcc 链接?