undefined reference to `emxArray_real_T‘ `emxEnsureCapacity_real_T‘ `emxEnsureCapacity_boolean_T‘

在将MATLAB算法转换为C并生成动态链接库后,遇到调用时的未定义引用错误,如`emxInit_real_T`等。解决方法是找到这些方法所在的源文件(例如XXXX_emxutil.c),将其复制到主文件夹,并使用gcc进行编译,从而解决链接错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

这两天有个项目,需要对接算法,算法是matlab写的,需要matlab转c、c转动态链接库,程序调用动态链接库,转动态链接库之后,调用的时候一直报错
undefined reference to `emxInit_real_T’

undefined reference to `emxEnsureCapacity_real_T’

undefined reference to `emxEnsureCapacity_boolean_T’

undefined reference to `emxFree_real_T’

undefined reference to `emxFree_boolean_T’

undefined reference to `emxInit_int32_T’

undefined reference to `emxFree_uint32_T’

undefined reference to `emxEnsureCapacity_int32_T’

undefined reference to `emxFree_int32_T’

undefined reference to `rtIsNaN’

undefined reference to `emxInit_uint32_T’

undefined reference to `emxEnsureCapacity_uint32_T’

解决办法

这些未定义方法,实际上就在matlab导出的项目下,比如说我的 emxInit_real_T方法 就在XXXX_emxutil.c 文件夹下,把这个方法直接拷贝到主文件夹,然后gcc编译就可以

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值