作者博客:bot7.cc
本文介绍用MEX-file的形式进行Matlab C/C++混合编程中添加第三方动态链接库的方法。
以OpenCV为例,编译时,在命令行输入:
mex -g xxxxx.cpp ...
-I'D:\OpenCV2.4.6\opencv\build\include' ...
-I'D:\OpenCV2.4.6\opencv\build\include\opencv' ...
-I'D:\OpenCV2.4.6\opencv\build\include\opencv2' ...
-L'D:\OpenCV2.4.6\opencv\build\x86\vc9\lib' ...
-lopencv_core246d ...
-lopencv_highgui246d ...
-lopencv_imgproc246d
即可完成含有第三方动态链接库的MEX编译,如果运行时出错,可尝试将含有第三方库的.dll的文件夹加入系统环境变量。
注:
-
genCopyImage.cpp
为生成MEX文件的主文件 -
-I
后的字符串为opencv头文件路径 -
-L
后的字符串为opencv的Lib路径,-lopencv_ml246d-lopencv_core246d
,为程序运行所需的lib - 加入
-g
参数,可以生成可调试的mex文件,去掉它即生成不可调试的mex文件