matlab和C++混编的程序如何运行?

文件列表
这是readme文件中的说明:

Please follow these simple instructions to get the
ToolBox working:

1) Download and unzip SegToolBox.zip from the website.

****** PRECAUTION: Please make sure that the path-name to the directory where files are unzipped does NOT contain any spaces. ******

2) Open Matlab. Cd to the unzipped directory whcih has all the files.

3) Make sure you have mex C++ compiler installed (Ex: Visual C++.)

  • To choose the compiler type "mex -setup" at the matlab commandline.
  • Follow the instructions therein until you have chosen a C++ compiler.

4) Build the library files required by the toolbox by executing
the following at the matlab commandline:

mex GraphCutSegment.cpp graph.cpp maxflow.cpp

AND
mex GraphCutSegmentLazy.cpp graph.cpp maxflow.cpp

This should create the library files (ex: FileName.dll in Windows or
FileName.mexmac in MacOS)

我按上面操作生成了一个GraphCutSegmentLazy.mexw64文件 另一个生成失败了 但是按照readme说明不是应该生成.dll文件吗?这个列表里本来就有,这个mexw64是来运行程序的吗?

程序下载的连接:http://www.cs.cmu.edu/~mohitg/segmentation.htm

Matlab调用C/C++的方式主要有两种:利用MEX技术和调用C/C++动态连接库。

  在Matlab与C/C++混合编程之前,必须先对Matlab的编译应用程序mex和编译器mbuild进行正确的设置[1]:

  对Matlab编译应用程序mex的设置:Mex –setup.

  对Matlab编译器mbuild的设置:Mbuild –setup.