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

2023-12-06 00:18

本文主要是介绍compiler錯誤訊息與解決方式(MATLAB),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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. 

这篇关于compiler錯誤訊息與解決方式(MATLAB)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/459693

相关文章

SpringBoot中@Value注入静态变量方式

《SpringBoot中@Value注入静态变量方式》SpringBoot中静态变量无法直接用@Value注入,需通过setter方法,@Value(${})从属性文件获取值,@Value(#{})用... 目录项目场景解决方案注解说明1、@Value("${}")使用示例2、@Value("#{}"php

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

使用shardingsphere实现mysql数据库分片方式

《使用shardingsphere实现mysql数据库分片方式》本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置... 目录一、ShardingSphere 简介1.1 对比1.2 核心概念1.3 Sharding-Sp

Spring创建Bean的八种主要方式详解

《Spring创建Bean的八种主要方式详解》Spring(尤其是SpringBoot)提供了多种方式来让容器创建和管理Bean,@Component、@Configuration+@Bean、@En... 目录引言一、Spring 创建 Bean 的 8 种主要方式1. @Component 及其衍生注解

python中的显式声明类型参数使用方式

《python中的显式声明类型参数使用方式》文章探讨了Python3.10+版本中类型注解的使用,指出FastAPI官方示例强调显式声明参数类型,通过|操作符替代Union/Optional,可提升代... 目录背景python函数显式声明的类型汇总基本类型集合类型Optional and Union(py

Linux系统管理与进程任务管理方式

《Linux系统管理与进程任务管理方式》本文系统讲解Linux管理核心技能,涵盖引导流程、服务控制(Systemd与GRUB2)、进程管理(前台/后台运行、工具使用)、计划任务(at/cron)及常用... 目录引言一、linux系统引导过程与服务控制1.1 系统引导的五个关键阶段1.2 GRUB2的进化优

IDEA与MyEclipse代码量统计方式

《IDEA与MyEclipse代码量统计方式》文章介绍在项目中不安装第三方工具统计代码行数的方法,分别说明MyEclipse通过正则搜索(排除空行和注释)及IDEA使用Statistic插件或调整搜索... 目录项目场景MyEclipse代码量统计IDEA代码量统计总结项目场景在项目中,有时候我们需要统计

C#和Unity中的中介者模式使用方式

《C#和Unity中的中介者模式使用方式》中介者模式通过中介者封装对象交互,降低耦合度,集中控制逻辑,适用于复杂系统组件交互场景,C#中可用事件、委托或MediatR实现,提升可维护性与灵活性... 目录C#中的中介者模式详解一、中介者模式的基本概念1. 定义2. 组成要素3. 模式结构二、中介者模式的特点

详解Java中三种状态机实现方式来优雅消灭 if-else 嵌套

《详解Java中三种状态机实现方式来优雅消灭if-else嵌套》这篇文章主要为大家详细介绍了Java中三种状态机实现方式从而优雅消灭if-else嵌套,文中的示例代码讲解详细,感兴趣的小伙伴可以跟... 目录1. 前言2. 复现传统if-else实现的业务场景问题3. 用状态机模式改造3.1 定义状态接口3