有没有在libzar.so中包含Lazarus / Free pascal编译的二进制文件?

时间:2017-08-26 14:07:45

标签: glibc lazarus freepascal libc

是否有将libc库包含在Lazarus或Free Pascal编译的二进制文件中?我不想使用共享库,因为如果我使用较新版本的Libc编译我的应用程序,例如,它将无法在较旧的Linux上运行。

我想要这个,因为当我在较旧的Linux版本中运行我的应用程序时,终端中会显示以下错误:

  

./ app:/lib64/libc.so.6:版本`GLIBC_2.14'没找到(需要   ./app)

感谢。

1 个答案:

答案 0 :(得分:1)

  

是否有将libc库包含在Lazarus或Free Pascal编译的二进制文件中?

如果编译器支持-static标志,并且不需要使用动态库,那么您的二进制文件将包含libc.a

的(已使用部分)的副本

Documentation建议在链接行添加-Xt即可。

  

我不想使用共享库,因为如果我使用较新版本的Libc编译我的应用程序,例如,它将无法在较旧的Linux上运行。

通常不支持此(在较新版本上编译,在较旧版本上运行)。使用全静态二进制可以工作,但由于其他神秘的原因经常失败。

您最好的选择是使用chroot编译环境或VM内部构建您计划支持的最旧的操作系统。