c++ - 最新的编译器版本和 GLIBC_2.32 依赖项
问题描述
当我使用GCC 11或Clang 12编译我的库时,我得到了 GLIBC_2.32 依赖项。
当我使用相同的参数但使用旧版本的编译器( GCC 10, Clang 11 )编译相同的库时,我没有得到 GLIBC_2.32 依赖项。
有没有办法摆脱对新版本编译器的依赖?
readelf -s mylib.so | grep GLIBC
4: 00000000 0 FUNC WEAK DEFAULT UND [...]@GLIBC_2.1.3 (2)
5: 00000000 0 FUNC GLOBAL DEFAULT UND sn[...]@GLIBC_2.0 (3)
6: 00000000 0 FUNC GLOBAL DEFAULT UND strlen@GLIBC_2.0 (3)
7: 00000000 0 FUNC GLOBAL DEFAULT UND getcwd@GLIBC_2.0 (3)
8: 00000000 0 FUNC GLOBAL DEFAULT UND dlopen@GLIBC_2.1 (4)
9: 00000000 0 FUNC GLOBAL DEFAULT UND strcmp@GLIBC_2.0 (3)
10: 00000000 0 FUNC GLOBAL DEFAULT UND dlsym@GLIBC_2.0 (5)
11: 00000000 0 FUNC GLOBAL DEFAULT UND st[...]@GLIBC_2.0 (3)
12: 00000000 0 FUNC GLOBAL DEFAULT UND fopen@GLIBC_2.1 (6)
13: 00000000 0 FUNC GLOBAL DEFAULT UND fgets@GLIBC_2.0 (3)
14: 00000000 0 FUNC GLOBAL DEFAULT UND fclose@GLIBC_2.1 (6)
15: 00000000 0 FUNC GLOBAL DEFAULT UND isspace@GLIBC_2.0 (3)
16: 00000000 0 FUNC GLOBAL DEFAULT UND memchr@GLIBC_2.0 (3)
17: 00000000 0 FUNC GLOBAL DEFAULT UND printf@GLIBC_2.0 (3)
18: 00000000 0 FUNC GLOBAL DEFAULT UND puts@GLIBC_2.0 (3)
19: 00000000 0 FUNC GLOBAL DEFAULT UND bcmp@GLIBC_2.0 (3)
20: 00000000 0 FUNC GLOBAL DEFAULT UND __[...]@GLIBC_2.0 (3)
21: 00000000 0 FUNC GLOBAL DEFAULT UND strtol@GLIBC_2.0 (3)
22: 00000000 0 FUNC GLOBAL DEFAULT UND abort@GLIBC_2.0 (3)
23: 00000000 0 OBJECT GLOBAL DEFAULT UND _[...]@GLIBC_2.32 (7) << WHAT IS THIS?
24: 00000000 0 FUNC GLOBAL DEFAULT UND sprintf@GLIBC_2.0 (3)
25: 00000000 0 FUNC GLOBAL DEFAULT UND strncmp@GLIBC_2.0 (3)
26: 00000000 0 FUNC GLOBAL DEFAULT UND gettext@GLIBC_2.0 (3)
27: 00000000 0 FUNC GLOBAL DEFAULT UND __[...]@GLIBC_2.4 (8)
28: 00000000 0 FUNC WEAK DEFAULT UND pt[...]@GLIBC_2.0 (3)
29: 00000000 0 FUNC GLOBAL DEFAULT UND realloc@GLIBC_2.0 (3)
30: 00000000 0 FUNC GLOBAL DEFAULT UND memset@GLIBC_2.0 (3)
31: 00000000 0 FUNC GLOBAL DEFAULT UND read@GLIBC_2.0 (3)
32: 00000000 0 FUNC GLOBAL DEFAULT UND memcmp@GLIBC_2.0 (3)
34: 00000000 0 FUNC WEAK DEFAULT UND pt[...]@GLIBC_2.0 (3)
35: 00000000 0 FUNC GLOBAL DEFAULT UND fputc@GLIBC_2.0 (3)
36: 00000000 0 FUNC GLOBAL DEFAULT UND fputs@GLIBC_2.0 (3)
37: 00000000 0 FUNC GLOBAL DEFAULT UND memcpy@GLIBC_2.0 (3)
38: 00000000 0 FUNC GLOBAL DEFAULT UND malloc@GLIBC_2.0 (3)
39: 00000000 0 OBJECT GLOBAL DEFAULT UND stderr@GLIBC_2.0 (3)
40: 00000000 0 FUNC GLOBAL DEFAULT UND ioctl@GLIBC_2.0 (3)
41: 00000000 0 FUNC GLOBAL DEFAULT UND fwrite@GLIBC_2.0 (3)
42: 00000000 0 FUNC GLOBAL DEFAULT UND close@GLIBC_2.0 (3)
43: 00000000 0 FUNC GLOBAL DEFAULT UND open@GLIBC_2.0 (3)
44: 00000000 0 FUNC GLOBAL DEFAULT UND syscall@GLIBC_2.0 (3)
45: 00000000 0 FUNC GLOBAL DEFAULT UND memmove@GLIBC_2.0 (3)
46: 00000000 0 FUNC GLOBAL DEFAULT UND free@GLIBC_2.0 (3)
47: 00000000 0 FUNC GLOBAL DEFAULT UND _[...]@GLIBC_2.3 (10)
解决方案
推荐阅读
- javascript - 如何在通过日历#jQuery #Drupal8 选择后自动禁用日期
- php - 如何在数据库列中获取数组?拉拉维尔
- botframework - “发生网络中断。重新连接...”,当我最小化或最大化 chabot 时如何潜在地自动重新连接
- java - Groovy 方法 isSynthetic 对于 run 和 main 是 false
- python - 如何修复我的键盘记录器代码以产生输出?
- amazon-web-services - docker 中的相同应用程序组成配置映射 AWS EC2 实例上的不同端口
- angular - 如何存储 OTP 控制器输入的变量?
- clearcase - 如何获取组件的基础基线?
- c# - 为什么我们必须等待一段时间才能从 UserPrincipal.GetAuthorizationGroups 方法获取最新的组信息?
- php - 我如何计算laravel中特定id的总金额?