使用matlab进行mex编译时的路径问题mexopts

matlab和vs 进行混合编程时总需要使用matlab编译mexFunction.cpp文件。这些文件免不了使用include下的*.h和lib下的*.lib文件。举例说明,这次我的cpp中用到了opencv/cv.h。在matlab\bin\win64\mexopts文件夹下有一个msvsopts100.bat的批处理文件。

用notepad 将这个文件打开在”include=“ 和 “lib=” 后面添加需要使用的路径并加分号“;”

设置好之后保存。然后在matlab 中 输入mex mexFunction.cpp。但是还是会出现 cannot open file “opencv/cv.h”。这是为什么呢?

仔细观察发现mscvopts100.bat 中第6行中有这样一句话rem C++keyName: Microsoft Visual C++ 2010。这句话证明mscvopts100.bat ,在mex -setup的过程中修改过。因此可以猜测需要再次进行mex -setup 才能使这些路径生效。经过试验,确实如此。困扰了我两周。希望能给大家省时间。

Matlab与C/C++联合编程之从Matlab调用C/C++代码

二分类SVM方法Matlab实现

Matlab中的取整函数fix, floor, ceil与round

Matlab编译cuda的.cu文件

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/f85884b824c11f15ee6967034bfd6704.html