Recently when looking at MATLAB code, because I am using the 64 system, and code in the Mex file is compiled on the 32-bit system, so need to re-compile maxflowmex.cpp, but the direct Mex Maxflowmex.cpp, the following error occurred:
Maxflowmex.obj:error LNK2019: unresolved external symbol "Public: __cdecl graph<float,float,float>::graph<float,float,float > (Int,int,void (__cdecl*) (char *)) "([email protected]@@[email protected]@[email protected]), the symbol in the function mexfunction is referenced in
The problem is due to the inability to compile multiple CPP files. The maxflowmex.cpp contains the head and shoulders as # include "Maxflow-v3.01/graph.h", so download maxflow-v3.01 from the Internet into the appropriate directory, as shown in
Observe that there are graph.cpp and maxflow.cpp in the maxflow-v3.01, so enter Mex maxflow-v3.01/maxflow.cpp maxflow-v3.01/graph.cpp on the command line Maxflowmex.cpp can be. Get!
MATLAB compiles multiple CPP files with MEX