【发布时间】:2011-02-17 17:42:40
【问题描述】:
我想为具有较旧 solaris (libc.so SUNW_1.22.4) 的系统编译/链接新的 solaris 版本 (libc.so SUNW_1.22.6)。如何指定链接器(在新版本上)应构建使用旧 (1.22.4) libc.so 的二进制文件?
【问题讨论】:
我想为具有较旧 solaris (libc.so SUNW_1.22.4) 的系统编译/链接新的 solaris 版本 (libc.so SUNW_1.22.6)。如何指定链接器(在新版本上)应构建使用旧 (1.22.4) libc.so 的二进制文件?
【问题讨论】:
一般来说,UNIX 系统支持向后兼容性(在旧系统上构建的程序继续在新系统上运行),但并非相反:在新系统上构建的程序可能无法在旧系统上运行。
因此,请在您要支持的最旧操作系统版本上构建您的程序。
如何指定链接器(在 新版本)应该构建一个二进制文件 使用较旧的 (1.22.4) libc.so
为此,您需要一个“新 Solaris -> 旧 Solars”交叉编译器。可以为这种交叉编译构建 GCC,但这并非易事。在旧系统上构建通常要简单得多。
【讨论】:
不要调用任何不在 SUNW_1.22.4 中的函数。链接器根据所链接的函数记录最小依赖关系。
【讨论】: