找回密码
 立即注册
收起左侧

QT调用matlab dll程序异常退出

4
回复
5855
查看
[复制链接]
累计签到:4 天
连续签到:2 天
来源: 2019-7-16 16:58:06 显示全部楼层 |阅读模式
1Qter豆
本帖最后由 wq2020wdm 于 2019-7-16 18:30 编辑

QT调用了matlab的浮点转定点函数fi.m
按照教程配置pro和cpp后,总算不报错了,但是EXE直接崩了,dll也初始化了啊,找不到原因,大神帮忙看下是什么问题



附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

如果是启动直接崩溃,使用 Walker depends 打开一下 exe,看看是不是缺少动态库,或者是 库文件的位数不对,程序运行起不来,直接崩溃,这两个原因占大头~
回复

使用道具 举报

累计签到:742 天
连续签到:1 天
2019-7-16 16:58:07 显示全部楼层
如果是启动直接崩溃,使用 Walker depends 打开一下 exe,看看是不是缺少动态库,或者是 库文件的位数不对,程序运行起不来,直接崩溃,这两个原因占大头~
回复

使用道具 举报

累计签到:4 天
连续签到:2 天
2019-7-16 18:50:33 显示全部楼层
Since 发表于 2019-7-16 16:58
如果是启动直接崩溃,使用 Walker depends 打开一下 exe,看看是不是缺少动态库,或者是 库文件的位数不对 ...

现在是运行起来了,但是返回的值是opaque,这一般是什么问题?
回复

使用道具 举报

累计签到:4 天
连续签到:2 天
2019-7-16 19:20:21 显示全部楼层
Since 发表于 2019-7-16 16:58
如果是启动直接崩溃,使用 Walker depends 打开一下 exe,看看是不是缺少动态库,或者是 库文件的位数不对 ...

我调用的是fi.m,在matlab下的格式为a=fi(1.4873938,1,32,30),1.48xxx为我要转定点的浮点数,1代表有无符号位,32为量化位数,30为小数点的位数
fi.h中的调用格式为extern LIB_fi_CPP_API void MW_CALL_CONV fi(int nargout, mwArray& a, const mwArray& varargin);
我设置了一个矩阵a(浮点数,1,32,30),输出为矩阵b(1,1)
fi(1,b,a)
输出为b转字符串
这调用是有什么问题吗?

点评

我只能回复程序无法运行的问题,这个 matlab 是何方妖怪 ?  详情 回复 发表于 2019-7-17 08:44
回复

使用道具 举报

累计签到:742 天
连续签到:1 天
2019-7-17 08:44:55 显示全部楼层
wq2020wdm 发表于 2019-7-16 19:20
我调用的是fi.m,在matlab下的格式为a=fi(1.4873938,1,32,30),1.48xxx为我要转定点的浮点数,1代表有无 ...

我只能回复程序无法运行的问题,这个 matlab 是何方妖怪 ?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了