Open Jiaqi-zhang opened 5 years ago
I run "make" to compile the .cpp files with MatlabR2018a, but some errors occured which is listed below. I try the Jiaqi's record and it finally compiled successfully. Thanks a lot.
"Error: compilation of \cpp\spmtimesd.cpp failed : Can't locate Win32/TieRegistry.pm in @INC (you may need to install the Win32::TieRegistry module) (@INC contains: D:/matlab/Matlab/sys/perl/win32/site/lib D:/matlab/Matlab/sys/perl/win32/lib D:\matlab\Matlab\bin) at D:\matlab\Matlab\bin\/mexutils.pm line 21. BEGIN failed--compilation aborted at D:\matlab\Matlab\bin\/mexutils.pm line 21. Compilation failed in require at D:\matlab\Matlab\bin\/mexsetup.pm line 126. BEGIN failed--compilation aborted at D:\matlab\Matlab\bin\/mexsetup.pm line 126. Compilation failed in require at D:\matlab\Matlab\bin\mex.pl line 132. BEGIN failed--compilation aborted at D:\matlab\Matlab\bin\mex.pl line 132."
This project refers to the project of spectral graph matching with affine constraint (SMAC) http://www.timotheecour.com/software/graph_matching/graph_matching.html
After analyzing the problem, I found that the mex.pl used by the script mex_silent.m ( fgm\src\asg\smac\graph_matching_SMAC\util) did not exist in MATLAB2018b.
modified: cmdargs = ['-called_from_matlab -matlab "' matlabroot '" ' sprintf(' %s', varargin{:})]; to cmdargs = sprintf(' %s', varargin{:});
cmdtool = [quote_str matlabroot '\sys\perl\win32\bin\perl.exe' quote_str ' ' ... quote_str matlab_bin_location '\mex.pl' quote_str]; to cmdtool = [quote_str matlab_bin_location '\win64\mex.exe' quote_str];
meanwhile,modified:mex_aux.m,Comment out the code % if ispc % k=k+1;args{k}='-argcheck'; % end
hope the above record is useful.