qt matlab 联合编程 链接dll出错

可爱又迷人的程序员 2018-01-03 03:05:17
qt matlab 联合编程 总是报这样的错误
matlab通过gcc编译器编译出来的dll,qt加入dll和lib相关文件,用来科学计算出了以下问题,希望大家指点一二。

E:\Qt\Demo\build-qt_matlab-Desktop_Qt_5_8_0_MinGW_32bit-Debug\debug\widget.o:-1: In function `ZN6Widget14pushButtonSlotEv':
E:\Qt\Qt_Demo\qt_matlab\widget.cpp:25: error: undefined reference to `libmyFuncInitialize'
E:\Qt\Qt_Demo\qt_matlab\widget.cpp:38: error: undefined reference to `libmyFuncTerminate'
collect2.exe:-1: error: error: ld returned 1 exit status




其他文件无改动。

我之前也加过其他库文件,比如usbcan的库文件用来写驱动。
可这个总说找不到函数,我ctrl一下函数,可以链接到.h里的函数说明。
我lib .h 在项目文件里加了 debug也加了DLL文件,太奇怪了?

难不成是我32位的qt,不能调用64位的matlab生成的dll??
哪位高手有经验,希望指点一二。
...全文
471 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_26764493 2018-12-21
  • 打赏
  • 举报
回复
我也出现累似问题,我使用的是:win10 64位 32位matlab2015b 使用VS2013生成dll 32位 Qt5.7编译器使用的是默认的MinGw32位 ,出现和楼主类似的问题,但比楼主更加奇怪,我的是dll初始化函数没有报错,但dll里另一个函数报错了,请问是怎么回事??
  • 打赏
  • 举报
回复
感谢版主的回答 我使用32位的matlab 解决问题了 附上经验 http://blog.csdn.net/m_986883511/article/details/78972890
donwmufromdying 2018-01-04
  • 打赏
  • 举报
回复
应该就是版主说的这个原因
dext 2018-01-03
  • 打赏
  • 举报
回复
难不成是我32位的qt,不能调用64位的matlab生成的dll??

就是这个原因。

用 objdump 看看你的DLL 是不是 64位的。你的Qt 是 32位的。
  • 打赏
  • 举报
回复

附文件夹内文件说明: 项目文件夹:


debug文件夹:

16,173

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧