compiler錯誤訊息與解決方式(MATLAB)

来源:互联网 发布:linux执行sql命令 编辑:程序博客网 时间:2024/04/30 16:44
compiler錯誤訊息與解決方式

以下為MathWorks所提出的compiler錯誤訊息與解決方式
整理出來請大家參考一下
  
[color=red]Error: An error occurred while shelling out to mex/mbuild (error code = errorno). Unable to build executable (specify the -v option for more information).[/color]   The Compiler reports this error if mbuild or mex generates an error.
  
[color=red]Error: An error occurred writing to file "filename": reason. [/color]   The file could not be written. The reason is provided by the operating system. For example, you may not have sufficient disk space available to write the file.
  
[color=red]Error: Cannot recompile M-file "filename" because it is already in library "libraryname".[/color]   A procedure already exists in a library that has the same name as the M-file that is being compiled. For example:
  
mcc -x sin.m % Incorrect
  
[color=red]Error: Cannot write file "filename" because MCC has already created a file with that name, or a file with that name was specified as a command line argument. [/color]   The Compiler has been instructed to generate two files with the same name. For example:
  
mcc -W lib:liba liba -t % Incorrect
  
[color=red]Error: Could not check out a Compiler license. [/color]   No additional Compiler licenses are available for your workgroup.
  
[color=red]Error: Could not find license file "filename".[/color]   (Windows only) The license.dat file could not be found in <MATLAB>/bin.
  
[color=red]Error: Could not run mbuild. The MATLAB C/C++ Math Library must be installed in order to build stand-alone applications.[/color]   Install the MATLAB C/C++ Math Library.
  
[color=red]Error: File: "filename" not found.[/color]   A specified file could not be found on the path. Verify that the file exists and that the path includes the file's location. You can use the -I option to add a directory to the search path
  
[color=red]Error: File: "filename" is a script M-file which cannot be compiled with the current Compiler. [/color]   The MATLAB Compiler cannot compile script M-files. To learn how to convert script M-files to function M-files, see Converting Script M-Files to Function M-Files.
  
[color=red]Error: File: filename Line: # Column: # != is not a MATLAB operator. Use ~= instead. [/color]   Use the MATLAB relational operator ~= (not equal).
  
[color=red]Error: File: filename Line: # Column: # () indexing must appear last in an index expression. [/color]   If you use ordinary array indexing () to index into an expression, it must be last in the index expression. For example, you can use X(1).value and X{2}(1), but you cannot use X.value(1) or X(1){2}.
  
[color=red]Error: File: filename Line: # Column: # A CONTINUE may only be used within a FOR or WHILE loop.[/color]   Use Continue to pass control to the next iteration of a for or while loop.
  
[color=red]Error: File: filename Line: # Column: # A function declaration cannot appear within a script M-file. [/color]   There is a function declaration in the file to be compiled, but it is not at the beginning of the file. Scripts cannot have any function declarations; function M-files must start with a function.
  
[color=red]Error: File: filename Line: # Column: # Assignment statements cannot produce a result.[/color]   An assignment statement cannot be used in a place where an expression, but not a statement, is expected. In particular, this message often identifies errors where an assignment was used, but an equality test was intended. For example:
  
if x == y, z = w; end % Correct  
if x = y, z = w; end % Incorrect
  
[color=red]Error: File: filename Line: # Column: # A variable cannot be made storageclass1 after being used as a storageclass2.[/color]   You cannot change a variable's storage class (global/local/persistent). Even though MATLAB allows this type of change in scope, the Compiler does not.
  
[color=red]Error: File: filename Line: # Column: # An array for multiple LHS assignment must be a vector.[/color]   If the left-hand side of a statement is a multiple assignment, the list of left-hand side variables must be a vector. For example:  
  
[p1, p2, p3] = myfunc(a)% Correct
[p1; p2; p3] = myfunc(a)% Incorrect
  
[color=red]Error: File: filename Line: # Column: # An array for multiple LHS assignment cannot be empty.[/color]   If the left-hand side of a statement is a multiple assignment, the list of left-hand side variables cannot be empty. For example:  
  
[p1, p2, p3] = myfunc(a)% Correct
[ ] = myfunc(a)% Incorrect
  
[color=red]Error: File: filename Line: # Column: # An array for multiple LHS assignment cannot contain token.[/color]   If the left-hand side of a statement is a multiple assignment, the vector cannot contain this token. For example, you cannot assign to constants.  
  
[p1] = myfunc(a)% Correct
[3] = myfunc(a)% Incorrect
  
[color=red]Error: File: filename Line: # Column: # Expected a variable, function, or constant, found "string".[/color]   There is a syntax error in the specified line. See the online MATLAB Function Reference pages.
  
[color=red]Error: File: filename Line: # Column: # Expected one of , ; % or EOL, got "string".[/color]   There is a syntax error in the specified line. See the online MATLAB Function Reference pages.
  
[color=red]Error: File: filename Line: # Column: # Functions cannot be indexed using {} or . indexing.[/color]   You cannot use the cell array constructor, {}, or the structure field access operator, ., to index into a function.
  
[color=red]Error: File: filename Line: # Column: # Indexing expressions cannot return multiple results.[/color]   There is an assignment in which the left-hand side takes multiple values, but the right-hand side is not a function call but rather a structure access. For example:
  
[x, y] = f(z) % Correct  
[x, y] = f.z % Incorrect
  
[color=red]Error: File: filename Line: # Column: # Invalid multiple left-hand-side assignment.[/color]   For example, you try to assign to constants
  
[] = sin(1);% Incorrect
  
[color=red]Error: File: filename Line: # Column: # MATLAB assignment cannot be nested. [/color]   You cannot use a syntax such as x = y = 2. Use y = 2, x = y instead.
  
[color=red]Error: File: filename Line: # Column: # Missing operator, comma, or semicolon. [/color]   There is a syntax error in the file. Syntactically, an operator, a comma, or a semicolon is expected, but is missing. For example:
  
if x == y, z = w; end % Correct  
if x == y, z = w end % Incorrect
  
[color=red]Error: File: filename Line: # Column: # Missing variable or function.[/color]   An illegal name was used for a variable or function. For example:
  
x   % Correct  
_x  % Incorrect
  
[color=red]Error: File: filename Line: # Column: # Only functions can return multiple values.[/color]   In this example, foo must be a function, it cannot be a variable.
  
[a, b] = foo;
  
[color=red]Error: File: filename Line: # Column: # "string1" expected, "string2" found. [/color]   There is a syntax error in the specified line. See the online MATLAB Function Reference pages accessible from the Help browser.
  
[color=red]Error: File: filename Line: # Column: # The end operator can only be used within an array index expression. [/color]   You can use the end operator in an array index expression such as sum(A( :, end)). You cannot use the end operator outside of such an expression, for example: y = 1 + end.
  
[color=red]Error: File: filename Line: # Column: # The name "parametername" occurs twice as an input parameter.[/color]   The variable names specified on the function declaration line must be unique. For example:
  
function foo(bar1, bar2)% Correct
function foo(bar, bar)% Incorrect
  
[color=red]Error: File: filename Line: # Column: # The name "parametername" occurs twice as an output parameter.[/color]   The variable names specified on the function declaration line must be unique. For example:
  
function [bar1, bar2] = foo% Correct
function [bar, bar] = foo% Incorrect
  
[color=red]Error: File: filename Line: # Column: # The "operatorname" operator may only produce a single output.[/color]   The primitive operator produces only a single output. For example:
  
x = 1:10; % Correct  
[x, y] = 1:10; % Incorrect
  
[color=red]Error: File: filename Line: # Column: # The PERSISTENT declaration must precede any use of the variable variablename.[/color]   In the text of the function, there is a reference to the variable before the persistent declaration.
  
[color=red]Error: File: filename Line: # Column: # The single colon operator ( : ) can only be used within an array index expression.[/color]   You can only use the : operator by itself as an array index. For example: A( : ) = 5; is okay, but y = :; is not.
  
[color=red]Error: File: filename Line: # Column: # The variable variablename was mentioned more than once as an input. [/color]   The argument list has a repeated variable. For example:
  
function y = myfun(x, x) % Incorrect
  
[color=red]Error: File: filename Line: # Column: # The variable variablename was mentioned more than once as an output.[/color]   The return value vector has a repeated variable. For example:
  
function [x, x] = myfun(y) % Incorrect
  
[color=red]Error: File: filename Line: # Column: # This statement is incomplete. Variable arguments cannot be made global or persistent.[/color]   The variables varargin and varargout are not like other variables. They cannot be declared either global or persistent. For example:
  
global varargin % Incorrect
  
[color=red]Error: File: filename Line: # Column: # Variable argument (varargin) must be last in input argument list.[/color]   The function call must specify the required arguments first followed by varargin. For example:  
  
function [out1, out2] = example1(a, b, varargin)% Correct
function [out1, out2] = example1(a, varargin, b)% Incorrect
  
[color=red]Error: File: filename Line: # Column: # Variable argument (varargout) must be last in output argument list.[/color]   The function call must specify the required arguments first followed by varargout. For example:  
  
function [i, j, varargout]= ex2(x1, y1, x2, y2, val)% Correct
function [i, varargout, j]= ex2(x1, y1, x2, y2, val)% Incorrect
  
[color=red]Error: File: filename Line: # Column: # variablename has been declared both as GLOBAL and PERSISTENT.[/color]   Declare variables as either global or persistent.
  
[color=red]Error: Found illegal whitespace character in command line option: "string". The strings on the left and right side of the space should be separate arguments to MCC.[/color]   For example:
  
mcc('-A', 'none')% Correct
mcc('-A none')% Incorrect
  
[color=red]Error: Improper usage of option -optionname. Type "mcc -?" for usage information.[/color]   You have incorrectly used a Compiler option. For more information about Compiler options, see MATLAB Compiler Option Flags or type mcc -? at the command prompt.
  
[color=red]Error: "languagename" is not a known language.[/color]   The dialect option was given a language argument for which there is no support yet. For example:
  
mcc -m -D japanese sample.m % Correct  
mcc -m -D german sample.m % Incorrect
  
[color=red]Error: libraryname library not found.[/color]   MATLAB has been installed incorrectly.
  
[color=red]Error: MEX-File "mexfilename" cannot be compiled into P-Code. [/color]   Only M-files can be compiled into P-code; MEX-files cannot be compiled into P-code.
  
[color=red]Error: No source files were specified (-? for help).[/color]   You must provide the Compiler with the name of the source file(s) to compile.
  
[color=red]Error: On UNIX, the name of an MLIB-file must begin with the letters "lib". 'filename' does not adhere to this rule.[/color]   The mlib file specified on the command line does not start with the letters "lib" and the file being compiled uses procedures in that library.
  
[color=red]Error: "optionname" is not a valid -option option argument.[/color]   You must use an argument that corresponds to the option. For example:  
  
mcc -L Cpp ...% Correct
mcc -L COBOL ...% Incorrect
  
[color=red]Error: Out of memory.[/color]   Typically, this message occurs because the Compiler requests a larger segment of memory from the operating system than is currently available. Adding additional memory to your system could alleviate this problem.
  
[color=red]Error: Previous warning treated as error. [/color]   When you use the -w error option, this error displays immediately after a warning message.
  
[color=red]Error: The argument after the -option option must contain a colon. [/color]   The format for this argument requires a colon. For more information, see MATLAB Compiler Option Flags or type mcc -? at the command prompt.
  
[color=red]Error: The environment variable MATLAB must be set to the MATLAB root directory. [/color]   On UNIX, the MATLAB and LM_LICENSE_FILE variables must be set. The mcc shell script does this automatically when it is called the first time.
  
[color=red]Error: The file filename cannot be written.[/color]   When generating an mlib file, the Compiler cannot write out the mlib file.
  
[color=red]Error: The license manager failed to initialize (error code is errornumber).[/color]   You do not have a valid Compiler license or no additional Compiler licenses are available.
  
[color=red]Error: The option -option is invalid in modename mode (specify -? for help). [/color]   The specified option is not available.
  
[color=red]Error: The option -option must be immediately followed by whitespace (e.g. "proper_example_usage").[/color]   These options require additional information, so they cannot be combined.  
  
-A, -B, -d, -f, -F, -I, -L, -M, -o, -T, -u, -W, -x, -y, -Y, -z
  
For example, you can use mcc -vc, but you cannot use mcc -Ac annotation:all.
  
Error: The options specified will not generate any output files.[color=red]
Please use one of the following options to generate an executable output file:
    -x (generates a MEX-file executable using C)
    -m (generates a stand-alone executable using C)
    -p (generates a stand-alone executable using C++)
    -S (generates a Simulink MEX S-function using C)
-B sgl (generates a stand-alone graphics library executable using C (requires the SGL))
-B sglcpp (generates a stand-alone graphics library executable using C++ (requires the SGL))
-B pcode (generates a MATLAB P-code file)
    Or type mcc -? for more usage information.[/color]   Use one of these options or another option that generates an output file(s). See MATLAB Compiler Option Flags or type mcc -? at the command prompt for more information.
  
[color=red]Error: The specified file "filename" cannot be read.[/color]   There is a problem with your specified file. For example, the file is not readable because there is no read permission.
  
[color=red]Error: The -option option cannot be combined with other options. [/color]   The -V2.0 option must appear separate from other options on the command line. For example:
  
mcc -V2.0 -L Cpp ...% Correct
mcc -V2.0L Cpp ...% Incorrect
  
[color=red]Error: The -optionname option requires an argument [/color] (e.g. "proper_example_usage").   You have incorrectly used a Compiler option. For more information about Compiler options, see MATLAB Compiler Option Flags or type mcc -? at the command prompt.
  
[color=red]Error: This version of MCC does not support the creation of C++ MEX code. [/color]   You cannot create C++ MEX functions with the current Compiler.
  
[color=red]Error: Unable to open file "filename":<string>. [/color]   There is a problem with your specified file. For example, there is no write permission to the output directory, or the disk is full.
  
[color=red]Error: Unable to set license linger interval (error code is errornumber). [/color]   A license manager failure has occurred. Contact Technical Support at The MathWorks with the full text of the error message.
  
[color=red]Error: Uninterpretable number of inputs set on command line "commandline".[/color]   When generating a Simulink S-function, the inputs specified on the command line was not a number. For example:
  
mcc -S -u 2 sample.m % Correct  
mcc -S -u a sample.m % Incorrect
  
[color=red]Error: Uninterpretable number of outputs set on command line "commandline".[/color]   When generating a Simulink S-function, the outputs specified on the command line was not a number. For example:
  
mcc -S -y 2 sample.m % Correct  
mcc -S -y a sample.m % Incorrect
  
[color=red]Error: Uninterpretable width set on command line "commandline".[/color]   The argument to the page width option was not interpretable as a number.
  
[color=red]Error: Unknown annotation option: optionname.[/color]   An invalid string was specified after the -A option. For a complete list of the valid annotation options, see MATLAB Compiler Option Flags or type mcc -? at the command prompt.
  
[color=red]Error: Unknown typesetting option: optionname.[/color]   The valid typesetting options available with -F are expression-indent:n, list, page-width, and statement-indent:n.
  
[color=red]Error: Unknown warning enable/disable string: warningstring.[/color]   -w enable:, -w disable:, and -w error: require you to use one of the warning string identifiers listed in the Warning Messages.
  
[color=red]Error: Unrecognized option: -option.[/color]   The option is not one of the valid options for this version of the Compiler. See MATLAB Compiler Option Flags for a complete list of valid options for MATLAB Compiler 3.0 or type mcc -? at the command prompt.
  
[color=red]Error: Use "-V2.0" to specify desired version.[/color]   You specified -V without a version number. You must use -V2.0 if you specify a version number.
  
[color=red]Error: versionnumber is not a valid version number. Use "-V2.0".[/color]   If you specify a Compiler version number, it must be -V2.0. The default is -V2.0. 
原创粉丝点击