使用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 才干使这些路径生效。
经过试验,确实如此。困扰了我两周。
希望能给大家省时间。