主要内容

故障排除自定义工具链验证

构建工具命令路径不正确

如果路径或命令文件名不正确,则显示验证:

无法找到文件'路径+命令”。文件不存在。

考虑工具链定义文件示例中的以下两行:

tool.setCommand (“abc”);tool.setPath(/工具链的);
纠正此问题:

  • 检查构建工具是否已安装。

  • 检查给出的参数Tool.SetCommand.tool.setPathToolchain定义文件中的行。

构建工具不在系统路径中

当构建工具的路径没有被提供并且命令文件不在系统路径中时,验证显示:

找不到 '命令”。它不在系统路径中。

考虑工具链定义文件示例中的以下两行:

tool.setCommand (icl的);tool.setPath();

因为关于setPath ()构建工具必须位于系统路径上,而不是绝对路径。

纠正此问题:

  • 使用coder.make.toolchainInfo.shellsetup.属性将路径添加到工具链安装。

  • 使用系统设置将工具链安装目录添加到系统环境路径。

否则,取代使用命令文件的绝对路径。

工具路径不存在

如果提供了构建工具路径,但不存在,验证将显示:

路径的刀具轨迹不存在。

纠正此问题:

  • 检查构建工具的实际路径。然后,更新值coder.make.BuildTool.setPath在工具链定义文件中。

  • 使用系统设置将工具链安装目录添加到系统环境路径。然后,设置值coder.make.BuildTool.setPath

路径与构建器或构建工具不兼容

如果构建工具路径中的文件分隔符(例如' / '或者'\')与构建器应用程序不兼容,验证可以显示:

路径的刀具轨迹不存在。

要纠正此问题,请检查工具链定义中的文件分隔符是否与“FileSeparator”接受的tc。BuilderApplication当make文件使用指定的路径时。然后,更新值coder.make.BuildTool.setPath在工具链定义文件中。

大多数工具链和构建工具(LCC是一个明显的例外)都认识到这一点' / '作为文件分隔符。要使您的自定义工具链定义的行为符合预期,请尝试使用' / '作为文件分隔符。

不支万博1manbetx持的平台

如果主机平台上不支持工具链,则验证显示:万博1manbetx

工具链的TLCHN.'在'上支万博1manbetx持pltfrma的平台。然而,你是在跑步。pltfrmb的平台。

纠正此问题:

  • 检查coder.make.toolchaininfo.platform.您的Toolchain定义文件中的属性为错误。

  • 使用支持主计算机平台的一个更新或替换工具链定义文件。万博1manbetx

  • 更换主机平台。

工具链未安装

如果工具链未安装,验证将显示:

工具链未安装

要更正此问题,请安装预期的工具链,或者验证您选择了正确的工具链条,如图所示使用自定义工具链

项目或配置正在使用模板生成文件

默认情况下,MATLAB®编码器™尝试使用选定的构建工具链来构建生成的代码。但是,如果下面几节详细介绍的makefile配置选项是设置为默认值,MATLAB编码器不能使用工具链,并恢复到使用模板生成文件方法来构建生成的代码。

请注意

万博1manbetx对模板生成文件(TMF)的支持将在未来的版本中删除。

MATLAB编码器项目设置

项目设置对话框所有设置参数名称 默认设置
生成makefile 是的
使命令 make_rtw
模板makefile. default_tmf.
编译器优化级别

命令行配置参数codegen功能

Coder.CodeConfig或Coder.embeddedCodeConfig参数名称 默认值
GenerateMakefile '真的'
MakeCommand. “make_rtw”
templatemakefile. “default_tmf”
CCompilerOptimization. “关闭”

要使用Toolchain方法,请手动将配置选项重置为这些默认值或:

  • 重置项目的设置project_name,在MATLAB命令行输入:

    coder.make.upgradeMATLABCoderProject (project_name)

  • 重置配置对象的命令行设置配置,创建更新后的配置对象new_config然后使用new_config与之codegen后续构建中的功能。在MATLAB命令行,输入:

    new_config = coder.make.upgradeCoderConfigObject(配置);