主要内容

Linux版本兼容性

在Linux平台上生成共享对象(.so)文件时,MATLAB®使用操作系统自带的GLIBC和GLIBCXX (GLIBC++)库版本。这意味着,当在来自其他供应商的等效操作系统上运行这些模型时,您可能会遇到兼容性问题,从而阻止模型运行。

金宝app不同操作系统支持的库版本

Linux操作系统 GLIBC库版本 GLIBCXX库版本 GCC库版本
Debian 9 -11 - 2.24 3.4.22 6.3
Debian 10 -10 - 2.28 3.4.25 8.3
RedHat 6.6 2.12 3.4.13 4.4.7
RedHat 7.7 2.17 3.4.19 4.8.5
SUSE 11.4 14 - - - - - - 4.3.4
SUSE 12.3 2.19 - - - - - - 4.8
SUSE 12.4 2.22 - - - - - - 4.8

在生成so文件时,编译器只对每个库函数使用最新的GLIBC/GLIBCXX版本。因此,尽管最新的Debian 10 GLIBC版本是2.28,但SerDes Toolbox™只使用了GLIBC库的一个子集。根据所使用的块,可能只需要v2.12。

例如,在Debian 10上为随机Rx AMI模型生成的so文件需要这些库:

  • 0x08922974 0x00 05 GLIBCXX_3.4

  • 0x06969194 0x00 04 GLIBC_2.14

  • 0x09691a75 0x00 03 GLIBC_2.2.5

  • 0x09691a75 0x00 02 GLIBC_2.2.5

这个共享对象可以在任何GLIBC v2.14或更高版本和GLIBCXX v3.4或更高版本的系统上运行。这意味着这个共享对象可以在RedHat 7.7上运行,但不能在RedHat 6.6上运行。

请注意

这只适用于Linux的.shared对象。Windows只要求Universal C Runtime库与所有GLIBC/GLIBCXX版本兼容。

在较早的Linux版本(而不是MATLAB中官方支持的版本)上生成共享对象的一个简单解决方案是,在完全受支持的平台上导出so文件,然后在较早的版本上手动运行构建。金宝app要做到这一点:

  • 转到发射器或接收器构建目录,用Tx_ert_rtwRx_ert_rtw,分别。

  • 在命令行中,输入以下命令:

    • 让- f Tx.mk

    • 让- f Rx.mk

    生成的共享对象驻留在构建目录(. . / Tx.so发射机和. . / Rx.so接收器。)

  • 将so文件复制到SerDes工具箱使用的全名。

请注意

手动构建共享对象需要金宝app®编码器™或者嵌入式编码器®许可证。

有关支持的Linux版本列表金宝app,请参见以前的版本:系统要求和支持的编译器金宝app

外部网站