社区
其它技术问题
帖子详情
matlab中mexw64调用无法找到指定模块
qq_38587608
2017-04-29 04:44:42
调用mexw64文件时提示
MEX-file 'C:\Users\manbu\Desktop\毕设\水蒸气性质水蒸汽性质\h_pTx_97.mexw64' 无效: 找不到指定的模块。。
...全文
3043
2
打赏
收藏
matlab中mexw64调用无法找到指定模块
调用mexw64文件时提示 MEX-file 'C:\Users\manbu\Desktop\毕设\水蒸气性质水蒸汽性质\h_pTx_97.mexw64' 无效: 找不到指定的模块。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
赵4老师
2017-05-02
打赏
举报
回复
1
程序员的常识之一:不要将程序源代码或项目或exe放在桌面这种复杂(多半带空格和汉字且在防火墙或杀毒软件严密控制的C盘上)的目录下。
Somnr丶
2021-07-12
举报
回复
@赵4老师
matlab
怎么
调用
mex
w64
后缀文件,以及编译失败原因
matlab
里
调用
mex
w64
的同名函数就可以了。用法和.m的函数一样。其实.
mex
w64
文件是c文件在
matlab
中
使用编译器编译出来的文件。
matlab
运行c++代码需要进行
mex
编译。从网上下载的
matlab
程序实例通常包含的是.
mex
a64,是linux环境编译而成的,windows不能使用。所以windows环境需要重新编译成.
mex
w64
格式。过程如下: 在
matlab
命令行输入: >>
mex
-setup c++(之前的c好像不能用或者不好用,最好是C) 在
matlab
命令行输入:>>make 如果过程出现Error内容如下: 使用 'MinG
W64
Compiler (C)'
matlab
使用C语言编写的函数测试函数
*
matlab
调用
C语言 * *1、定义
matlab
与mablab的接口函数
mex
Function(),其输入和输出都不可改变 *2、使用
mex
命令在
matlab
命令行编译C文件 *3、在
matlab
上
调用
生成的.
mex
w64
文件
matlab
说话代码-Compile
Mex
:使用
matlab
将c/c++源文件编译为
mex
文件,并在
matlab
中
使用
matlab
说话代码
Matlab
中
调用
C/C++编译生成
mex
文件
MEX
文件
MEX
(即
MEX
可执行程序二进制文件)指自动加载的、可以像任何
MATLAB
函数一样
调用
的程序。
Matlab
中
矩阵预算特别方便,但如果有
无法
避免的循环甚至多层嵌套的话,会非常影响程序的效率,因此通常会将这种需要大量循环的
模块
用c++编写然后在
matlab
中
调用
。
Matlab
中
的的c++编程称为
mex
编程(
matlab
executive),其
中
需要些c++源文件,然后在
Matlab
中
用
mex
命令编译它,然后就可以在
Matlab
中
像
调用
函数一样
调用
c++代码了。Windows(64 位)扩展名
mex
w64
。 创建方法: 参考
Matlab
自带说明文档的 arrayProduct.c示例编写C/C++面向过程的源码文件。
mex
的源文件一定要include头文件"
mex
.h“,
mex
源文件的入口函数为void
mex
Function(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]),nlhs( number left
matlab
2015bopencv2413配置vs2013win1064位-RGBtoGRAY.txt
matlab
2015bopencv2413配置vs2013win1064位-RGBtoGRAY.txt 本帖最后由 yz琳儿 于 2017-1-26 12:57 编辑 以下信息转自博文
MATLAB
与C 混合编程(依赖OPENCV),感谢作者zouxy09。在此基础上根据版本需求做了相应更改,亲测成功。下面均系个人看法,欢迎大家批评指正。 首先
mex
-setup,这个指令任何版本的配置都要有,目的是安装c 编译器,然后选择
mex
-setup C 即可。(第一次配置需要输入,以后不用) 接下来,网上一般会说
mex
-v,但是
matlab
2015b下,输入会报错 Verbose mode is on. Error using
mex
。。 Not enough input arguments. 原因是在2014版本(貌似)之后
matlab
并没有
mex
opts.bat这个配置文件,取而代之的是
mex
_C _win64.xml文件,因此采用上述博文的配置方法。 具体为: 1.将。。(opencv的路径)\opencv\build\x64\vc12\bin 添加入环境变量path,之后需要重启机器。 (注意:vs2013对应的是vc12,如果是vs2015,需要将路径\vc12\bin修改为\vc14\bin) 2.打开
matlab
,更改附件
中
的cppMake.m a.程序第14行 CPPFLAGS = ' -O -DNDEBUG -I.\ -IG:\software\opencv\build\include'; %%红色需要改为自己的路径 b.程序第15行 LDFLAGS = ' -LG:\software\opencv\build\x64\vc12\lib'; %%红色需要改为自己的路径 (当然,步骤1,2,如果是32为机器,x64相应改为x86。不过我没有测试) (注意:vs2013对应的是vc12,如果是vs2015,需要将路径\vc12\lib修改为\vc14\lib) 3.将附件
中
的 RGBtoGRAY.cpp 测试文件置于cppMake.m所在文件夹下,输入cppMake完成测试,会在文件夹下生成 RGBtoGRAY.
mex
w64
。接着就可
调用
该函数,比如 img=RGBtoGRAY; imshow); 4.之后大家可以任意编写.cpp文件(具体可参考网上的
mex
Function编写),完成
matlab
的
调用
错误集锦: 1.编译.cpp成功,然并没有生成.
mex
w64
文件。(程序第14行,也就是include的路径,引号与-o之间是有空格符的) 2.报错 Error using
mex
MEX
cannot find library 'argeArrayDims-LG:\software\opencv\build\x64\vc12\lib' specified with the -l option. (同上,程序第15行,也就是lib的路径,引号与-L之间是有空格符的) 3.报错 Error using
mex
MEX
cannot find library 'opencv_highgui2413' specified with the -l option. (同上,程序第16行,也就是lib库名称,引号与第一个-l之间是有空格符的,且相邻两个-l之间是有空格符的) 4.编译.cpp成功,生成.
mex
w64
文件,但是
调用
函数时报错 invalid
mex
file...找不到
指定
模块
(确认配置方法的第一步,添加path之后,需要重启机器) 5.编译.cpp成功,生成.
mex
w64
文件,但是
调用
函数时报错 can't open input file (程序第16行,也就是lib库名称,库名称结尾是2413,不是2413d)
matlab
2015bopencv2413配置vs2013win1064位-cppMake.m
matlab
2015bopencv2413配置vs2013win1064位-cppMake.m 本帖最后由 yz琳儿 于 2017-1-26 12:57 编辑 以下信息转自博文
MATLAB
与C 混合编程(依赖OPENCV),感谢作者zouxy09。在此基础上根据版本需求做了相应更改,亲测成功。下面均系个人看法,欢迎大家批评指正。 首先
mex
-setup,这个指令任何版本的配置都要有,目的是安装c 编译器,然后选择
mex
-setup C 即可。(第一次配置需要输入,以后不用) 接下来,网上一般会说
mex
-v,但是
matlab
2015b下,输入会报错 Verbose mode is on. Error using
mex
。。 Not enough input arguments. 原因是在2014版本(貌似)之后
matlab
并没有
mex
opts.bat这个配置文件,取而代之的是
mex
_C _win64.xml文件,因此采用上述博文的配置方法。 具体为: 1.将。。(opencv的路径)\opencv\build\x64\vc12\bin 添加入环境变量path,之后需要重启机器。 (注意:vs2013对应的是vc12,如果是vs2015,需要将路径\vc12\bin修改为\vc14\bin) 2.打开
matlab
,更改附件
中
的cppMake.m a.程序第14行 CPPFLAGS = ' -O -DNDEBUG -I.\ -IG:\software\opencv\build\include'; %%红色需要改为自己的路径 b.程序第15行 LDFLAGS = ' -LG:\software\opencv\build\x64\vc12\lib'; %%红色需要改为自己的路径 (当然,步骤1,2,如果是32为机器,x64相应改为x86。不过我没有测试) (注意:vs2013对应的是vc12,如果是vs2015,需要将路径\vc12\lib修改为\vc14\lib) 3.将附件
中
的 RGBtoGRAY.cpp 测试文件置于cppMake.m所在文件夹下,输入cppMake完成测试,会在文件夹下生成 RGBtoGRAY.
mex
w64
。接着就可
调用
该函数,比如 img=RGBtoGRAY; imshow); 4.之后大家可以任意编写.cpp文件(具体可参考网上的
mex
Function编写),完成
matlab
的
调用
错误集锦: 1.编译.cpp成功,然并没有生成.
mex
w64
文件。(程序第14行,也就是include的路径,引号与-o之间是有空格符的) 2.报错 Error using
mex
MEX
cannot find library 'argeArrayDims-LG:\software\opencv\build\x64\vc12\lib' specified with the -l option. (同上,程序第15行,也就是lib的路径,引号与-L之间是有空格符的) 3.报错 Error using
mex
MEX
cannot find library 'opencv_highgui2413' specified with the -l option. (同上,程序第16行,也就是lib库名称,引号与第一个-l之间是有空格符的,且相邻两个-l之间是有空格符的) 4.编译.cpp成功,生成.
mex
w64
文件,但是
调用
函数时报错 invalid
mex
file...找不到
指定
模块
(确认配置方法的第一步,添加path之后,需要重启机器) 5.编译.cpp成功,生成.
mex
w64
文件,但是
调用
函数时报错 can't open input file (程序第16行,也就是lib库名称,库名称结尾是2413,不是2413d)
其它技术问题
3,881
社区成员
9,054
社区内容
发帖
与我相关
我的任务
其它技术问题
C/C++ 其它技术问题
复制链接
扫一扫
分享
社区描述
C/C++ 其它技术问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章