在matlab中调用VC写的dll的内容失败

abzhang2 2015-08-11 11:27:39
最近遇到一个问题。 描述如下,
我们要用matlab 写算法,然后在fpga里面执行,因此我用vc写了一个dll, 里面就是用网络(socket)进行了数据的转发, 然后设备端用arm进行接收数据, 再通过arm与fpga之间的通路把数据配置给fpga, 然后arm再把状态或者数据返回给dll,
就是我用VC写了一个dll,把matlab 和FPGA之间联系起来。
matlab中执行命令 ---> libXWrite.dll(send and recv) -> arm(recv and send) -> FPGA.

我在WinXP + VS2003(VC)中写的libXWrite.dll , 然后在WinXP + matlab_7.11.0(R2010b) 系统里面可以执行,是正常的。
[a status] = libXWrite('192.168.0.136', 2, 1000)
a 返回的是libXWrite返回的状态是否成功,
status 返回的是FPGA里面执行的结果状态。
但是在Win7 + matlab(R2012b), 里面调用该libXWrite.dll
[a status] = libXWrite('192.168.0.136', 2, 1000)
提示: Undefined function 'libXWrite.dll' for input arguments of type 'char'
如果把'[a status] = libXWrite(100, 2, 1000), 提示变成 Undefined function 'libXWrite.dll' for input arguments of type 'double'
估计就是libXWrite没有找到,然后在matlab里面也set path。
然后我在Win7 + VS2008中把这个dll重新编译了下,问题依旧。不知道怎么解决.
...全文
127 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
abzhang2 2017-04-01
  • 打赏
  • 举报
回复
已经解决,以前在winxp_32bit系统的时候,可以在vc下编译就可以了,现在在win7_64bit, 就必须在matlab里面用matlab的指令编译,然后就可以直接调用了。

3,423

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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