文档

解决自定义工具链验证问题

生成工具命令路径不正确

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

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

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

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编码器无法使用工具链,并恢复使用模板makefile方法构建生成的代码。

请注意

金宝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 = code .make. upgradecoderconfigobject (config);

跳过构建工具“下载”或“执行”验证

即使验证报告声明“工具链验证结果:通过”,它也包括以下一项或两项说明:

跳过构建工具“下载”的验证。没有指定“下载”构建工具。跳过构建工具“Execute”的验证。无法验证“执行”构建工具“$(PRODUCT)”。

若要纠正此问题,请更新工具链定义文件并重新注册更新后的工具链。有关更多信息,请参见: