Ubuntu上的strlen运行时错误 我开发了一个CGI C++应用程序,我在Debian下编译的。在Ubuntu系统上运行此应用程序时,我发现错误:
重新定位错误:/lib32/libresolv.so.2:symbol strlen,GLIBC_2.0版本未在文件libc.so.6中定义,带有链接时间参考 我现在能做什么?我应该在UBTO系统上重新编译吗?我可以替换图书馆吗 编辑 我将我的应用程序链接到Ubuntu上的strlen运行时错误 我开发了一个CGI C++应用程序,我在Debian下编译的。在Ubuntu系统上运行此应用程序时,我发现错误:,c++,runtime-error,glibc,strlen,C++,Runtime Error,Glibc,Strlen,重新定位错误:/lib32/libresolv.so.2:symbol strlen,GLIBC_2.0版本未在文件libc.so.6中定义,带有链接时间参考 我现在能做什么?我应该在UBTO系统上重新编译吗?我可以替换图书馆吗 编辑 我将我的应用程序链接到-static 在Ubuntu系统上运行命令ldd--version,显示我的EGLIB在那里使用 此错误的意思是,您的程序是针对较旧版本的GNU libc编译/链接的,而要运行可执行文件的系统不支持该版本 您几乎没有解决此问题的选项: 确保
-static
在Ubuntu系统上运行命令
ldd--version
,显示我的EGLIB
在那里使用 此错误的意思是,您的程序是针对较旧版本的GNU libc编译/链接的,而要运行可执行文件的系统不支持该版本
您几乎没有解决此问题的选项:
C库运行时与您的系统和内核紧密相连。最好重新链接应用程序。或者将应用程序链接到
-static
。有一条注释提示它可能与32/64位相关。我查过了。Ubto是64位系统,Debian系统不是。@juergend:good catch。尽管64位系统支持32位二进制文件。i、 e.您有/lib32目录-它包含32位运行时i do与-static
链接。我是否必须将glibc包含到我的其他库中?