解决自定义工具链验证问题
生成工具命令路径不正确
如果路径或命令文件名不正确,验证将显示:
无法找到文件”
路径+命令
”。文件不存在。
考虑工具链定义文件示例中的以下两行:
tool.setCommand (“abc”);tool.setPath (/工具链的);
检查构建工具是否已安装。
的参数
tool.setCommand
和tool.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_config
与codegen
在后续构建中使用。在MATLAB命令行输入:new_config = code .make. upgradecoderconfigobject (config);
跳过构建工具“下载”或“执行”验证
即使验证报告声明“工具链验证结果:通过”,它也包括以下一项或两项说明:
跳过构建工具“下载”的验证。没有指定“下载”构建工具。跳过构建工具“Execute”的验证。无法验证“执行”构建工具“$(PRODUCT)”。
若要纠正此问题,请更新工具链定义文件并重新注册更新后的工具链。有关更多信息,请参见: