matlab中mexw64调用无法找到指定模块

qq_38587608 2017-04-29 04:44:42
调用mexw64文件时提示
MEX-file 'C:\Users\manbu\Desktop\毕设\水蒸气性质水蒸汽性质\h_pTx_97.mexw64' 无效: 找不到指定的模块。。
...全文
3043 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2017-05-02
  • 打赏
  • 举报
回复 1
程序员的常识之一:不要将程序源代码或项目或exe放在桌面这种复杂(多半带空格和汉字且在防火墙或杀毒软件严密控制的C盘上)的目录下。
Somnr丶 2021-07-12
  • 举报
回复
@赵4老师
matlab2015bopencv2413配置vs2013win1064位-RGBtoGRAY.txt 本帖最后由 yz琳儿 于 2017-1-26 12:57 编辑 以下信息转自博文MATLAB与C 混合编程(依赖OPENCV),感谢作者zouxy09。在此基础上根据版本需求做了相应更改,亲测成功。下面均系个人看法,欢迎大家批评指正。 首先mex -setup,这个指令任何版本的配置都要有,目的是安装c 编译器,然后选择mex -setup C 即可。(第一次配置需要输入,以后不用) 接下来,网上一般会说mex -v,但是matlab2015b下,输入会报错                                                                          Verbose mode is on.                                                                          Error using mex。。                                                                          Not enough input arguments. 原因是在2014版本(貌似)之后matlab并没有mexopts.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.mexw64。接着就可调用该函数,比如                                                                         img=RGBtoGRAY;                                                                         imshow); 4.之后大家可以任意编写.cpp文件(具体可参考网上的mexFunction编写),完成matlab调用 错误集锦: 1.编译.cpp成功,然并没有生成.mexw64文件。(程序第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成功,生成.mexw64文件,但是调用函数时报错                                                                        invalid mex file...找不到指定模块 (确认配置方法的第一步,添加path之后,需要重启机器) 5.编译.cpp成功,生成.mexw64文件,但是调用函数时报错                                                                        can't open input file (程序第16行,也就是lib库名称,库名称结尾是2413,不是2413d)
matlab2015bopencv2413配置vs2013win1064位-cppMake.m 本帖最后由 yz琳儿 于 2017-1-26 12:57 编辑 以下信息转自博文MATLAB与C 混合编程(依赖OPENCV),感谢作者zouxy09。在此基础上根据版本需求做了相应更改,亲测成功。下面均系个人看法,欢迎大家批评指正。 首先mex -setup,这个指令任何版本的配置都要有,目的是安装c 编译器,然后选择mex -setup C 即可。(第一次配置需要输入,以后不用) 接下来,网上一般会说mex -v,但是matlab2015b下,输入会报错                                                                          Verbose mode is on.                                                                          Error using mex。。                                                                          Not enough input arguments. 原因是在2014版本(貌似)之后matlab并没有mexopts.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.mexw64。接着就可调用该函数,比如                                                                         img=RGBtoGRAY;                                                                         imshow); 4.之后大家可以任意编写.cpp文件(具体可参考网上的mexFunction编写),完成matlab调用 错误集锦: 1.编译.cpp成功,然并没有生成.mexw64文件。(程序第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成功,生成.mexw64文件,但是调用函数时报错                                                                        invalid mex file...找不到指定模块 (确认配置方法的第一步,添加path之后,需要重启机器) 5.编译.cpp成功,生成.mexw64文件,但是调用函数时报错                                                                        can't open input file (程序第16行,也就是lib库名称,库名称结尾是2413,不是2413d)

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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