我有一些工作的Matlab代碼,我嘗試使用Matlab編碼器轉換成C代碼。我得到這個錯誤:Matlab代碼到C使用Matlab編碼器
18 c:\users\bla\project\strcmpi.h(79) : warning C4028: formal parameter 2 different from declaration
19 c:\users\bla\project\strcmpi.h(79) : error C2371: 'strcmpi' : redefinition; different basic types
20 c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\string.h(245) : see declaration of 'strcmpi'
21 NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\amd64\cl.EXE"' : return code '0x2'
22 Stop.
23 The make command returned an error of 2
24 'An_error_occurred_during_the_call_to_make' is not recognized as an internal or external command,
25 operable program or batch file.
它看起來非常特定於我(我不是一個熟練的C程序員)。任何人都可以請指出我在正確的方向來克服這個錯誤?謝謝。
PS:
下面是一些適於Matlab代碼:
if(strcmpi(parameters.x,'bladibla') == 1)
% some code
else
% some more code
end
其中 '參數' 是一個結構。我想堅持我的結構,但如果有更好的方法來實現上述,特別是在Matlab編碼器和C的情況下,請讓我知道。
您是否在Matlab代碼中使用'strcmpi'函數和coder.ceval?包括代碼的相關部分將有所幫助。 – sundar
感謝您的評論。我已經添加了一些Matlab代碼(請參閱PS :)。 – cs0815