当前位置: 首页 > news >正文

Libsvm 编译mex不同平台兼容性问题 Application not supported on glnxa64 due to platform dependencies. Intended pl

matlab线上算法执行报错:Application not supported on glnxa64 due to platform dependencies. Intended platforms include: win64

排查后发现是使用了libsvm-3.3, 而libsvm编译的时候是基于win64编译的导致出现此bug.(因为libsvm的开源代码不是matlab,是C语言、C++写的,所以需要对其进行编译,才能在matlab中对libsvm中的文件进行调用)

代表系统操作系统和体系结构的 mex 文件后缀命名约定例如

x86 Windows 的 .mexw32、x64 Windows 的 .mexw64、

linux x86 和 x64 的 mexa32、mexa64、

Mac OS x86 和 x64 的 mexmaci 和 mexmaci64

编译后的 mex 代码无法保证在不同版本、操作系统或平台上兼容。唯一能保证编译后的 mex 代码兼容性的方法是在同一操作系统和平台上的同一 MATLAB 版本下运行。

https://ww2.mathworks.cn/matlabcentral/answers/299183-assuring-mex-compatibility-on-different-systems

解决:

1.重新基于linux编译libsvm-3.3即可. 需要安装linux版本的MATLAB 2023b,不能使用MCR, 因为需要使用$MATLABDIR/bin/mex来编译libsvm.

libsvm 库下载位置:http://www.csie.ntu.edu.tw/~cjlin/libsvm/

(1).编译

进入到libsvm-3.20/matlab文件夹下

更改MAKEFILE中的MATLABDIR变量,改成matlab安装目录 /data/Matlab2023b

打开matlab的命令行窗口:/data/Matlab2023b/bin/matlab

mex -setup //首先查看一下mex是否已安装

cd /usr/local/libsvm-3.3/libsvm-3.3/matlab/

make //执行make编译

会生成libsvmread.mexw64等文件

2.基于linux版本的matlab重新进行deploytool打包:

由于在MCR中调用构建后的matlab算法时是无法改变path的,但是Windows下打包只能导入mexw Windows编译后的文件,故如果要在Linux环境下运行,必须在Linux上进行deploytool打包导入mexa才行。

已编译的可执行文件无法在运行时更改其路径。您需要将路径添加到编译时要查看的位置列表中,或者如果您使用的是 mcc,则需要使用 -a 选项,或者您需要在编译之前添加路径(您应该在尝试构建可执行文件时将文件添加到您的文件中source files);

MATLAB Runtime 实例中的 MATLAB 路径是固定的,无法更改。要更改这些路径,您必须先在 MATLAB 中对其进行自定义。

http://www.jsqmd.com/news/577195/

相关文章:

  • 普通程序员有必要深入学习JVM底层原理吗?
  • PTA Python编程题库解析与核心知识点精讲(实战篇)
  • 01-HMC7044输出时钟给高速DA后相位噪声较差问题
  • Attu:Milvus可视化管理工具 向量数据库高效运维解决方案
  • Windows缩略图预加载革命:告别文件夹加载卡顿的终极解决方案
  • 2026/4/1
  • Qwen2.5-7B-Instruct实战教程:用Chainlit构建交互式AI对话应用
  • League Akari:英雄联盟玩家的智能游戏伴侣,如何用开源工具提升你的竞技体验
  • 2026高考美术集训机构推荐:美术培训机构/美术培训画室/美术联考培训/美术集训推荐画室/美术集训费用/选择指南 - 优质品牌商家
  • 2026年sabic厂家推荐:塑料pc/abs工程塑料/pc+abs塑料/pc/abs/pc塑料/选择指南 - 优质品牌商家
  • 如何突破设计开发协作的效率瓶颈:Figma与JSON双向转换实战指南
  • 如何轻松通过B站硬核会员试炼?bili-hardcore让AI为你自动答题
  • 【金蝶云星空】有发票模块非暂估模式下,期初应付录入
  • intv_ai_mk11快速上手:5类高频Prompt模板(解释/对比/润色/生成/总结)即拿即用
  • 如何在5分钟内构建你的专业在线演示文稿:PPTist完全指南
  • python-langchain框架(1-8-1 缓存机制——让 AI 应用“记住”高频问题)
  • UE:如何解决渲染时UMG大小不变的问题
  • LeaguePrank:安全实现英雄联盟个性化展示的终极指南
  • 公司网站建设多少钱?主流建站方式及费用详解 - 码云数智
  • 内网服务器没网怎么办?手把手教你用Docker-26.1.1.tgz离线部署Docker环境(附systemd服务配置)
  • 【优化求解】粒子群算法面向弹性提升的多种应急资源参与配电网抢修恢复【含Matlab源码 15275期】
  • 如何解决C盘空间不足问题:Windows Cleaner的系统空间优化方案
  • NHPZ-10A/10B/10C 型平板式制动检验台全场景实战指南
  • 报考护航,持证无忧——北京合和智创证书课程及报考服务 - 资讯焦点
  • PostgreSQL 12 + PostGIS 3.4.2 完整部署+迁移+数据恢复避坑指南
  • C++ 智能指针在多线程中的使用
  • 区块链电商DAPP开发真相:20万预算如何实现交易透明化?
  • ConvNeXt 改进 | 自研模块:LLM 的 AttnRes残差自注意力模块 + GAM 通道注意机制(Kimi 团队 2026),自研AttnRes-GAM注意力残差块 ,实现高效涨点,独家首发
  • Nano-Banana入门指南:无需GPU也能跑通的CPU轻量推理方案
  • CMAK 3.0.0.5 从零部署指南:兼容新版Kafka与JDK11环境实战