Matlab中编译C++文件
今天在跑《Robust Object Tracking via Sparsity-based Collaborative Model》这篇文章的代码时候,发现出现如下错误:
发现错误时由于vgg_kmiter这个c类型的函数引起的,于是百度查看先关知识,原来是没有编译vgg_kmiter引起的错误,并且在此指出:由于高matlab版本不再支持mxCreateScalarDouble,而被变为mxCreateDoubleScalar,因而要把所有的cpp源文件中出现mxCreateScalarDouble全部换掉。
编译cpp文件的过程如下,首先在comman窗口输入mex -setup,会得到如下提示:
下面我们直接点y,选择编译器就是了,最后会得到这样的结果,说明我们编译成功了
这时我们只需要mex vgg_kmiter.cxx就可以了,如果光标闪烁说明编译成功了: