gpt4 book ai didi

c++ - Ubuntu 上的 strlen 运行时错误

转载 作者:搜寻专家 更新时间:2023-10-31 01:53:41 26 4
gpt4 key购买 nike

我开发了一个在 Debian 下编译的 CGI C++ 应用程序。在 Ubuntu 系统上运行此应用程序时出现错误:

relocation error: /lib32/libresolv.so.2: symbol strlen, version GLIBC_2.0 not defined in file libc.so.6 with link time reference

我现在可以做什么?我应该在 Ubunto 系统上重新编译吗?我可以更换图书馆吗?

编辑

我将我的应用程序链接到 -static
在 Ubuntu 系统上运行命令 ldd --version 显示那里使用了 EGLIB

最佳答案

此错误意味着您的程序是针对旧版本的 GNU libc 编译/链接的,而您要运行可执行文件的系统不支持该版本。

解决它的选项很少:

  1. 确保在编译和运行时使用相同或兼容版本的 libc。
  2. 链接到静态运行时。
  3. 在 Ubuntu 系统上安装旧版本的 libc 以匹配 Debian 的环境。

关于c++ - Ubuntu 上的 strlen 运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10833573/

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