我想對我的Matlab2012a安裝enceval工具包:使用eval,未定義函數或變量'largeArrayDims'時出錯。
enceval toolkit file to install on Matlab
我已經安裝了支持的編譯器的Visual Studio 10和SDK 7.1。 他們在file.m寫了這個代碼進行安裝:
archstr = computer('arch');
if(strcmp(archstr,'win64'))
lapacklib = fullfile(matlabroot, ...
'extern', 'lib', 'win64', 'microsoft', 'libmwlapack.lib');
blaslib = fullfile(matlabroot, ...
'extern', 'lib', 'win64', 'microsoft', 'libmwblas.lib');
command = 'mex (''LLCEncodeHelper.cpp'', lapacklib, blaslib, largeArrayDims)';
elseif(strcmp(archstr,'win32'))
lapacklib = fullfile(matlabroot, ...
'extern', 'lib', 'win32', 'microsoft', 'libmwlapack.lib');
blaslib = fullfile(matlabroot, ...
'extern', 'lib', 'win32', 'microsoft', 'libmwblas.lib');
command = 'mex(''LLCEncodeHelper.cpp'', lapacklib, blaslib)';
elseif strcmp(archstr,'glnx86')
command = 'mex -O LLCEncodeHelper.cpp -lmwlapack -lmwblas';
elseif strcmp(archstr,'glnxa64')
command = 'mex -O LLCEncodeHelper.cpp -lmwlapack -lmwblas -largeArrayDims';
else
error('System architecture could not be identified');
end
mexCmds=cell(0,1);
mexCmds{end+1}=command;
for i=1:length(mexCmds)
fprintf('Executing %s\n',mexCmds{i});
eval(mexCmds{i});
end
當我運行這段代碼,我得到這個異常:
*Executing mex ('LLCEncodeHelper.cpp', lapacklib, blaslib, largeArrayDims)
Error using eval
Undefined function or variable 'largeArrayDims'.
Error in featpipem_setup (line 32)
eval(mexCmds{i});*
我不知道爲什麼它是MATLAB版本問題還是有東西丟失?
嘗試沒有largeArrayDims選項編譯(應該是默認無論如何你的版本)。另請參閱:http://stackoverflow.com/questions/8509010/ – nkjt
您的計算機('arch')'的價值是什麼? –
此外,它看起來像在語句'lineif(strcmp(archstr,'win64'))'後面有錯誤的tildes(代碼分界符號)',具體在這裏: \ command ='mex(''LLCEncodeHelper.cpp '',lapacklib,blaslib,largeArrayDims)'\'。他們是否也在原始安裝代碼? –