请选择 进入手机版 | 继续访问电脑版

 找回密码
 立即注册
搜索
查看: 197|回复: 0

解决 glibc 库版本不匹配的问题

[复制链接]

263

主题

0

回帖

1028

积分

管理员

积分
1028
发表于 2024-1-23 12:39:50 | 显示全部楼层 |阅读模式

使用高版本的 GCC 编译的程序在低版本 glibc 的机器上运行的时候会提示:

libc.so.6: version 'GLIBC_2.14' not found

之类的错误,这是因为 GCC 所连接的 glibc 版本高于目标系统的 glibc 的版本。查看 libc.so.6 所支持的版本的方法: strings /lib/libc.so.6 | grep GLIBC_

解决这一问题要么升级系统的 libc,要么使程序使用自己的一套 libc 。如果选择后者,需要在连接的时候指定库的优先搜索位置。并且还要指定 ld-linux.so 的位置,否则会提示段错误  Segmentation fault。

QMAKE_LINK += -Wl,-rpath=./lib:/usr/local/bs230/lib -Wl,-dynamic-linker=/usr/local/bs230/lib/ld-linux.so.3

注意:使用相对路径时所相对的是执行者所在的位置(pwd)

比如在 /home 调用 /usr/local/bs230/bsinfo 会在查找 /home/lib 文件夾,而不是 /usr/local/bs230/lib


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|深圳市棱讯科技有限公司 ( 粤ICP备2024228160号-2 )|网站地图

GMT+8, 2024-5-18 09:44 , Processed in 0.017760 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表