主要内容

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

构建工具命令路径不正确

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

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

考虑下面来自工具链定义文件示例的两行代码:

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

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

  • 回顾给出的论点tool.setCommandtool.setPath工具链定义文件中的行。

构建工具不在系统路径中

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

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

考虑下面来自工具链定义文件示例的两行代码:

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是一个明显的例外)都能识别' / '作为文件分隔符。要使您的自定义工具链定义按照预期的行为,请尝试使用' / '作为文件分隔符。

不受金宝app支持的平台

如果主机平台不支持工具链,验证显示:金宝app

工具链的tlchn'支持在'金宝apppltfrma的平台。然而,你是在跑。pltfrmb的平台。

要纠正这个问题:

  • 检查coder.make.ToolchainInfo.Platform属性在工具链定义文件中的错误。

  • 将工具链定义文件更新或替换为支持主机平台的工具链定义文件。金宝app

  • 更换主机平台。

工具链未安装

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

工具链未安装

要纠正此问题,请安装预期的工具链,或验证您选择的工具链是否正确,请参见使用自定义工具链

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

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

请注意

金宝app对模板生成文件(TMF)的支持将在未来的版本中被移除。

MATLAB编码器项目设置

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

命令行配置参数codegen函数

编码器。CodeConfig或编码器。EmbeddedCodeConfig参数名称 默认值
GenerateMakefile “真正的”
MakeCommand “make_rtw”
TemplateMakefile “default_tmf”
CCompilerOptimization “关闭”

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

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

    coder.make.upgradeMATLABCoderProject (project_name)

  • 重置配置对象的命令行设置配置,创建已更新的配置对象new_config然后使用new_configcodegen函数。在MATLAB命令行中,输入:

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