2013-04-22 66 views
1

我想部署一个C++应用程序log4cxx.so并需要glibc 2.14,但部署的机器有2.12 glibc。是否有必要将本机升级到glibc 2.14以运行此应用程序?或者有其他更便携的方式?linux C++应用程序部署

+1

你可以尝试静态链接库。谷歌应该打开“如何”信息。 – 2013-04-22 09:22:55

+0

这可能有助于:[如何兼容不同版本的glibc?] [1] [1]:http://stackoverflow.com/questions/11107263/how-compatible-are-different-versions-of-glibc – andrjas 2013-04-22 09:26:05

+1

然后,如果部署新版本的glibc太难了,请静态链接您的可执行文件。 – phoeagon 2013-04-22 10:35:59

回答

2

Linux二进制可移植性是一个痛苦。 Linux使用符号版本,所以你应该能够找出需要什么样的符号有:

nm binary | grep @@GLIBC_ | sort [email protected] -k14 

您可以内联函数和删除新glibc的依赖。

您可以阅读更多here。一般来说,可移植性的最佳选择是根据旧版本glibc进行编译,或者仅提供源代码和MAKEFILE