c - gcc:创建静态链接到其所有依赖项的共享库
问题描述
我想创建与所有依赖项静态.so
链接的共享 ( ) ELF 文件(因此它必须包含所有 libc 函数)。
$ gcc -fPIC -static -shared libfoo.c
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/10/crtbeginT.o: relocation R_X86_64_32 against hidden symbol `__TMC_END__' can not be used when making a shared object
这是否意味着静态链接时我不能有图片代码?
如果是这样,为什么ld(1)
说:
-static
此选项可与-shared
. 这样做意味着正在创建一个共享库,但必须通过从静态库中拉入条目来解决该库的所有外部引用。
还是因为crtbeginT.o
没有使用 -fPIC 编译?
解决方案
推荐阅读
- erlang - 启动 ejabberd 集群的问题
- java - 即使我已将它们添加到库中,我也无法导入 java.sql 类
- node.js - Node.js 中的 JSON.stringify
- python-3.x - 在 AWS Elastic Beanstalk 上部署破折号可视化仪表板时出错
- javascript - 将鼠标悬停在内容上时,在工具提示中显示图像会给我一个闪烁的效果
- google-sheets - 将 SUM 行和 SUM 列添加到 Google 表格中的查询
- docker - 使用 fluentd 从 jorunald 中过滤掉容器日志
- javascript - Promise 的创建是同步的吗?
- text-files - 读取 txt 文件 JSON 数据以在 Cloud Pub Sub 中发布消息
- php - 如何显示 id 等于 1,2,3,4 的所有记录