是否有将libc库包含在Lazarus或Free Pascal编译的二进制文件中?我不想使用共享库,因为如果我使用较新版本的Libc编译我的应用程序,例如,它将无法在较旧的Linux上运行。
我想要这个,因为当我在较旧的Linux版本中运行我的应用程序时,终端中会显示以下错误:
./ app:/lib64/libc.so.6:版本`GLIBC_2.14'没找到(需要 ./app)
感谢。
答案 0 :(得分:1)
是否有将libc库包含在Lazarus或Free Pascal编译的二进制文件中?
如果编译器支持-static
标志,并且不需要使用动态库,那么您的二进制文件将包含libc.a
Documentation建议在链接行添加-Xt
即可。
我不想使用共享库,因为如果我使用较新版本的Libc编译我的应用程序,例如,它将无法在较旧的Linux上运行。
通常不支持此(在较新版本上编译,在较旧版本上运行)。使用全静态二进制可以工作,但由于其他神秘的原因经常失败。
您最好的选择是使用chroot
编译环境或VM内部构建您计划支持的最旧的操作系统。