Solaris Studio 链接到特定的 libc.so 版本

发布于 2024-10-18 01:57:23 字数 130 浏览 4 评论 0原文

我想为具有旧版Solaris (libc.so SUNW_1.22.4) 的系统编译/链接新的Solaris 版本(libc.so SUNW_1.22.6)。如何指定链接器(在新版本上)应构建使用旧版(1.22.4)libc.so 的二进制文件?

i want to compile/link on a new solaris version (libc.so SUNW_1.22.6) for a system with an older solaris (libc.so SUNW_1.22.4). How can I specify that the linker (on the new version) should build a binary that uses the older (1.22.4) libc.so?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

一笔一画续写前缘 2024-10-25 01:57:23

一般来说,UNIX 系统支持向后兼容性(在旧系统上构建的程序可以继续在较新的系统上运行),但反之则不然:在较新的系统上构建的程序可能无法在较旧的系统上运行。

因此,请在您要支持的最旧的操作系统版本上构建您的程序。

我如何指定链接器(在
新版本)应该构建一个二进制文件
使用旧版(1.22.4)libc.so

您将需要一个“新 Solaris -> 旧 Solars”交叉编译器。 GCC 可以针对此类交叉编译进行构建,但这并不是一件小事。在旧系统上构建通常是更简单的方法。

In general, UNIX systems support backward compatibility (a program built on an older system continues to work on a newer system), but not the opposite: a program built on a newer system may not work on an older system.

For this reason, build your program on the oldest OS release you are going to support.

How can I specify that the linker (on
the new version) should build a binary
that uses the older (1.22.4) libc.so

You would need a "new Solaris -> old Solars" cross-compiler for that. GCC can be built for such cross-compilation, but this is not trivial. Building on an older system is usually much simpler approach.

小镇女孩 2024-10-25 01:57:23

不要调用 SUNW_1.22.4 中未包含的任何函数。链接器根据链接到的函数记录最小依赖关系。

Don't call any functions that aren't in SUNW_1.22.4. The linker records the minimum dependency based on the functions linked to.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文