主要内容

coder.make.ToolchainInfoclass

包:coder.make

代表定制工具链

描述

使用coder.make.ToolchainInfo定义和注册一个新的软件构建工具(工具链)与MathWorks®代码生成产品。下载188bet金宝搏

工具链定义的工具链信息,使用coder.make.getDefaultToolchaincoder.make.getToolchainInfoFromRegistry

一个coder.make.ToolchainInfo对象包含:

  • coder.make.BuildTool对象可以描述每一个构建工具

  • coder.make.BuildConfiguration可以应用的对象的选项来构建工具集

创建

h= coder.make.ToolchainInfo创建一个默认的ToolchainInfo对象和分配处理,h

默认的ToolchainInfo对象包括BuildTool对象和配置C、c++和gmake:

  • 的默认值金宝appSupportedLanguages,C / c++补充说,BuildToolBuildConfiguration对于C和c++编译器对象ToolchainInfo

  • 的默认值BuildArtifact,gmake,增加了一个BuildTool对象为gmakeToolchainInfo.BuilderApplication

您可以使用输入参数(名称-值对)当你创建覆盖这些默认值ToolchainInfo对象。每个属性是可选的。每个属性都需要相应的值。这个例子覆盖金宝appSupportedLanguagesBuildArtifact默认值。

h= coder.make.ToolchainInfo ('金宝appSupportedLanguages”,vLanguages”,BuildArtifact”,vArtifact)

的默认属性值金宝appSupportedLanguagesBuildArtifact只能覆盖在工具链的创建信息对象。在对象创建这些属性是只读的。

输入参数

全部展开

属性名。有关更多信息,请参见属性描述BuildArtifact

的值BuildArtifact属性,指定为一个特征向量。

属性名。有关更多信息,请参见属性描述的名字

独特的工具链定义的名称,指定为一个特征向量。默认值是空的。

属性名。有关更多信息,请参见属性描述平台

支持的平金宝app台,指定为一个特征向量。默认值为当前的平台。

属性名。有关更多信息,请参见属性描述修订

ToolchainInfo修订号,指定为一个特征向量。

属性名。有关更多信息,请参见属性描述金宝appSupportedLanguages

金宝app支持语言或语言,指定为一个特征向量。

属性名。有关更多信息,请参见属性描述金宝appSupportedVersion

ToolchainInfo支持版本的软件构建工具,指定为一个特征向量。金宝app默认值是空的

输出参数

全部展开

一个coder.make.ToolchainInfo对象,指定使用一个对象处理,如h。创建h,输入h = coder.make.ToolchainInfo在MATLAB®命令窗口。

属性

全部展开

工具链的自定义属性

添加自定义属性所需的工具链并指定默认值。

默认情况下,自定义属性的列表是空的。

属性返回一个coder.make.util.UnorderedList

例如,intel_tc.m文件从添加自定义工具链,MATLAB®编码器™构建过程定义了以下自定义属性:

tc.addAttribute (“TransformPathsWithSpaces”);tc.addAttribute (“RequiresCommandFile”);tc.addAttribute (“RequiresBatchFile”);

来显示属性在MATLAB命令窗口列表的例子中,输入:

h = intel_tc;h.Attributes
ans = # - - - - - - - - - - - - - - - - - - - #“属性”列表# - - - - - - - - - - - - - - - - - - - RequiresBatchFile = true RequiresCommandFile = true TransformPathsWithSpaces = true

使用以下方法属性:

属性:

GetAccess
公共
SetAccess
公共

makefile的类型(构建工件)MATLAB编码器™使用软件构建过程中。

当您创建初始化这个属性coder.make.ToolchainInfo。使用默认值,gmake makefile使用名称-值对,或覆盖默认值参数,所述创建

例如:

h = coder.make.ToolchainInfo (“BuildArtifact”,“nmake”);
值可以是:

  • “gmake”“gmake makefile”——GNU工具

  • “nmake”nmake makefile的——窗户®使实用程序

例如,要显示的值BuildArtifact在MATLAB命令窗口中,输入:

h = coder.make.ToolchainInfo;h.BuildArtifact
ans = gmake makefile

ToolchainInfo使用的价值BuildArtifact属性来创建一个BuildTool对象为构建工件coder.make.ToolchainInfo.BuilderApplication

intel_tc.m文件从添加自定义工具链,MATLAB®编码器™构建过程示例使用以下行设置的值BuildArtifact:

tc = coder.make。ToolchainInfo(“BuildArtifact””,nmake makefile');

没有方法来使用BuildArtifact

属性:

GetAccess
公共
SetAccess
受保护的

构建配置列表

这个列表中的每个条目是一个coder.make.BuildConfiguration对象。

例如,intel_tc.m文件从添加自定义工具链,MATLAB®编码器™构建过程,使用以下行来定义构建配置:

cfg = tc。getBuildConfiguration(“加快构建”);cfg。setOption (C编译器,horzcat (cCompilerOpts optimsOffOpts));cfg。setOption (c++编译器,horzcat (cppCompilerOpts optimsOffOpts));cfg.setOption(“链接”,linkerOpts);cfg。setOption(共享库链接器,sharedLinkerOpts);cfg.setOption(“文档”,archiverOpts); cfg = tc.getBuildConfiguration('Faster Runs'); cfg.setOption('C Compiler',horzcat(cCompilerOpts,optimsOnOpts)); cfg.setOption('C++ Compiler',horzcat(cppCompilerOpts,optimsOnOpts)); cfg.setOption('Linker',linkerOpts); cfg.setOption('Shared Library Linker',sharedLinkerOpts); cfg.setOption('Archiver',archiverOpts); cfg = tc.getBuildConfiguration('Debug'); cfg.setOption('C Compiler',horzcat(cCompilerOpts,optimsOffOpts,debugFlag.CCompiler)); cfg.setOption('C++ Compiler',horzcat(cppCompilerOpts,optimsOffOpts,debugFlag.CppCompiler)); cfg.setOption('Linker',horzcat(linkerOpts,debugFlag.Linker)); cfg.setOption('Shared Library Linker',horzcat(sharedLinkerOpts,debugFlag.Linker)); cfg.setOption('Archiver',horzcat(archiverOpts,debugFlag.Archiver)); tc.setBuildConfigurationOption('all','Make Tool','-f $(MAKEFILE)');

来显示BuildConfigurations在MATLAB命令窗口列表的例子中,输入:

h = intel_tc;h.BuildConfigurations
ans = # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #“BuildConfigurations”列表# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Debug = < coder.make。BuildConfiguration > = < coder.make构建快。BuildConfiguration> Faster Runs = 

使用以下方法BuildConfigurations:

属性:

GetAccess
公共
SetAccess
公共

工具链的构建工具的列表。

这个列表中的每个条目是一个coder.make.BuildTool对象。

当你初始化ToolchainInfo,金宝appSupportedLanguages在创建属性决定了它的构建工具BuildTools。有关更多信息,请参见金宝appSupportedLanguages创建

BuildToolToolchainInfo可以创建基于对象金宝appSupportedLanguages是:

  • 汇编程序

  • C编译器

  • c++编译器

  • 链接器

  • 存储服务器

例如,intel_tc.m文件从添加自定义工具链,MATLAB®编码器™构建过程,使用下列命令行获取和更新的BuildTool对象:

% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - % C编译器% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -工具= tc。getBuildTool (C编译器);工具。setName(“英特尔C编译器”);tool.setCommand (icl);tool.setPath (");tool.setDirective (‘IncludeSearchPath’,‘我’);tool.setDirective (“PreprocessorDefine”,“- d”);tool.setDirective (“OutputFlag”、“佛”);tool.setDirective(“调试”、“子”);tool.setFileExtension(“源”、“c”); tool.setFileExtension('Header','.h'); tool.setFileExtension('Object','.obj'); tool.setCommandPattern('|>TOOL<| |>TOOL_OPTIONS<| |>OUTPUT_FLAG<||>OUTPUT<|');

来显示BuildTools在MATLAB命令窗口列表的例子中,输入:

h = intel_tc;h.BuildTools
ans = # - - - - - - - - - - - - - - - - - - - #“BuildTools”列表# - - - - - - - - - - - - - - - - - - - C编译器= < coder.make。BuildTool > = < coder.make c++编译器。BuildTool >文档= < coder.make。BuildTool >链接= < coder.make。BuildTool> MEX Tool = 

使用以下方法BuildTools:

属性:

GetAccess
公共
SetAccess
公共

构建工具的属性的makefile或构建工件

ToolchainInfo使用的价值BuildArtifact属性来创建一个BuildTool对象coder.make.ToolchainInfo.BuilderApplication描述的一样,创建

例如,intel_tc.m文件从添加自定义工具链,MATLAB®编码器™构建过程,使用下列命令行设置BuildArtifact和更新BuilderApplication对象:

h = coder.make.ToolchainInfo (“BuildArtifact”,“nmake”);

显示的值BuilderApplication从这个例子中MATLAB命令窗口中,输入:

h.BuilderApplication
ans = # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #构建工具:NMAKE工具# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #语言:“OptionsRegistry:{‘使工具’,‘MAKE_FLAGS} InputFileExtensions: {}金宝app OutputFileExtensions: {} DerivedFileExtensions: {} SupportedOutputs: {‘*’} CommandPattern: ' | >工具< | | > TOOL_OPTIONS < | ' # - - - - - - - - - - - - #命令# - - - - - - - - - - - -让= NMAKE MAKE_PATH = # - - - - - - - - - - - - #指令# - - - - - - - - - - - -评论= # DeleteCommand = @del DisplayCommand = @echo FileSeparator = \ ImpliedFirstDependency = $ < ImpliedTarget = $ @ IncludeFile = !包括LineContinuation = \ MoveCommand = @mv ReferencePattern = \ \美元(1美元\)RunScriptCommand = @cmd / c# - - - - - - - - - - - - - - - - - - #文件扩展名# - - - - - - - - - - - - - - - - - - Makefile =楼上

使用setBuilderApplication方法BuilderApplication

属性:

GetAccess
公共
SetAccess
公共

命令工具链需要内联在生成的makefile

指定要逐字插入makefile内联命令。默认值是

数据类型是特征向量。

例如,显示然后更新的值InlinedCommands属性,使用MATLAB命令窗口中输入:

h.InlinedCommands
ans = "
h.InlinedCommands=”!包括< ntwin32.mak >;h.InlinedCommands
!包括< ntwin32.mak >

添加自定义工具链,MATLAB®编码器™构建过程不包括示例InlinedCommands财产。

没有方法来使用InlinedCommands

属性:

GetAccess
公共
SetAccess
公共

MATLAB清理命令

指定MATLAB命令或脚本执行特定于这个工具链清理例程。使用命令或脚本,可以调用MATLAB命令窗口。默认值是空的。

数据类型是一个单元阵列的特征向量。

例如,显示然后更新的值MATLABSetupMATLABCleanup属性,使用MATLAB命令窗口中输入:

h = coder.make.ToolchainInfo;h.MATLABSetup;h.MATLABCleanup;h。MATLABSetup {1} = sprintf (“如果ispc \ n origTMP = getenv (TMP);\ n setenv (“TMP”、“C: \ \ TEMP”); \ nend ');h。MATLABCleanup {1} = sprintf (“如果ispc \ n setenv (“TMP”, origTMP);\ nend ');

下面的列表说明,这个属性适合的顺序操作:

  1. MATLAB的设置

  2. 壳安装

  3. Prebuild

  4. 构建(汇编程序、编译器、链接器、文档)

  5. Postbuild

  6. 壳清理

  7. MATLAB清理

添加自定义工具链,MATLAB®编码器™构建过程不包括示例MATLABCleanup财产。

没有方法来使用MATLABCleanup

属性:

GetAccess
公共
SetAccess
公共

MATLAB设置命令

指定MATLAB命令或脚本执行特定于这个工具链安装例程。使用命令或脚本,可以调用MATLAB命令窗口。默认值是空的。

数据类型是一个单元阵列的特征向量。

例如,显示然后更新的值MATLABSetupMATLABCleanup属性,使用MATLAB命令窗口中输入:

h = coder.make.ToolchainInfo;h.MATLABSetup;h.MATLABCleanup;h。MATLABSetup {1} = sprintf (“如果ispc \ n origTMP = getenv (TMP);\ n setenv (“TMP”、“C: \ \ TEMP”); \ nend ');h。MATLABCleanup {1} = sprintf (“如果ispc \ n setenv (“TMP”, origTMP);\ nend ');

下面的列表说明,这个属性适合的顺序操作:

  1. MATLAB的设置

  2. 壳安装

  3. Prebuild

  4. 构建(汇编程序、编译器、链接器、文档)

  5. Postbuild

  6. 壳清理

  7. MATLAB清理

添加自定义工具链,MATLAB®编码器™构建过程不包括示例MATLABSetup财产。

没有方法来使用MATLABCleanup

属性:

GetAccess
公共
SetAccess
公共

自定义宏列表包含宏名称和值

是一个列表coder.make.util.OrderedListcoder.make.BuildItem对象。

默认情况下这个列表是空的。例如:

h = coder.make.ToolchainInfo;h.Macros
ans = # - - - - - - - - - - - - - - - - - - #“宏”列表# - - - - - - - - - - - - - - - - - -(空的)

ToolchainInfo使用宏在两个方面:

  • 写宏,使用当前的构建makefile的变量。例如:

    TI_INSTALL = C:\Program Files\CCSv4 TI_C2000_TOOLS = $ (TI_INSTALL) \ \工具编译器\ c2000 \ bin

  • 当自定义工具链已经注册,验证扩展一个宏提供的完整路径,包括宏中包含宏。例如,当ToolchainInfo验证路径在下面编译器信息,它膨胀TI_C2000_TOOLSTI_INSTALL:

    命令= ' cl2000 '路径= ' $ (TI_C2000_TOOLS) '

的默认值是一个空列表。

数据类型是coder.make.util.OrderedListcoder.make.BuildItem对象。

例如,intel_tc.m文件从添加自定义工具链,MATLAB®编码器™构建过程使用下列命令行添加宏:

% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - %宏% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - tc.addMacro (“MW_EXTERNLIB_DIR”,“美元(MATLAB_ROOT) \走读生\ lib \ ' tc。平台' \ microsoft ']);tc.addMacro (' MW_LIB_DIR ', ' $ (MATLAB_ROOT) \ lib \ ' tc.Platform]);tc.addMacro (“CFLAGS_ADDITIONAL”、“-D_CRT_SECURE_NO_WARNINGS”);tc。addMacro (“CPPFLAGS_ADDITIONAL”、“ehs -D_CRT_SECURE_NO_WARNINGS”);tc.addMacro (' LIBS_TOOLCHAIN ', ' $ (conlibs) ');tc.addMacro (‘CVARSFLAG’,”);tc.addIntrinsicMacros ({‘ldebug’,‘conflags’,‘cflags});

例子,看到相应的属性值在MATLAB命令窗口中,输入:

h = intel_tc;h.Macros
ans = # - - - - - - - - - - - - - - - - - - #“宏”列表# - - - - - - - - - - - - - - - - - - MW_EXTERNLIB_DIR = $ (MATLAB_ROOT) \走读生\ lib \ win64 \微软MW_LIB_DIR = $ (MATLAB_ROOT) \ lib \ win64 CFLAGS_ADDITIONAL = -D_CRT_SECURE_NO_WARNINGS CPPFLAGS_ADDITIONAL = ehs -D_CRT_SECURE_NO_WARNINGS LIBS_TOOLCHAIN = $ (conlibs) CVARSFLAG = ldebug = conflags = cflags =

与这个属性使用以下方法:

属性:

GetAccess
公共
SetAccess
公共

独特的工具链定义的名称

指定完整的工具链的名称。这个名字也出现的工具链参数选项硬件选项卡的项目构建设置。默认值是空的。推荐的格式是:

的名字版本|建立工件(平台)

数据类型是特征向量。

例如,intel_tc.m文件从添加自定义工具链,MATLAB®编码器™构建过程提供了一条线,定义的值的名字。查看属性值,在命令窗口中,输入:

h = intel_tc;h.Name

属性:

GetAccess
公共
SetAccess
公共

指定支持平台金宝app

指定的平台将使用工具链。默认值为当前的平台。金宝app支持的值win32,win64,maci64,glnxa64

创建一个单独的ToolchainInfo为每个平台。

数据类型是特征向量。

这个属性没有任何关联的方法。直接赋值平台

例如,intel_tc.m文件从添加自定义工具链,MATLAB®编码器™构建过程使用以下行来定义的值平台:

tc。平台=“win64”;

例子,看到相应的属性值在MATLAB命令窗口中,输入:

h = intel_tc;h.Platform
ans = win64

属性:

GetAccess
公共
SetAccess
公共

工具的列表调用链接器/文档后使用。

是一个列表coder.make.util.OrderedListcoder.make.BuildTool对象。

看到相应的属性值在MATLAB命令窗口中,输入:

h = coder.make.ToolchainInfo;h.PostbuildTools

添加自定义工具链,MATLAB®编码器™构建过程不包括示例PostbuildTools财产。

与这个属性使用以下方法:

使用的工具列表之前编译源文件到目标文件。

是一个列表coder.make.util.OrderedListcoder.make.BuildTool对象。

默认情况下这个列表是空的。例如:

h.PrebuildTools
ans = # - - - - - - - - - - - - - - - - - - - - - - - #“PrebuildTools”列表# - - - - - - - - - - - - - - - - - - - - - - -(空的)

添加自定义工具链,MATLAB®编码器™构建过程不包括示例PrebuildTools财产。

与这个属性使用以下方法:

属性:

GetAccess
公共
SetAccess
公共

修订号分配给ToolchainInfo

工具链定义文件的作者可以使用这些信息来区分文件的一个版本。默认值是1.0

数据类型是特征向量。

这个属性没有任何关联的方法。直接赋值修订

例如:

h.Revision
ans = 1.0
h.Revision=“2.0”;h.Revision
ans = 2.0

属性:

GetAccess
公共
SetAccess
公共

Shell脚本,清理工具链

指定特定shell命令或脚本执行清理例程这个工具链。使用命令或脚本,可以调用系统命令的环境。默认值是空的。

数据类型是一个单元阵列的特征向量。每个字符向量是一个shell清理命令。

如果ToolchainInfo调用一个安装程序,您可以使用一组相应的清理例程恢复原来的系统环境设置。例如,如果一个安装程序添加环境变量和系统文件夹路径,您可以使用一个清理例程来删除它们。

例如:

> > h。ShellCleanup ans = [] > > h。ShellCleanup= 'call "cleanup_mssdk71.bat"'; >> h.ShellCleanup ans = 'call "cleanup_mssdk71.bat"'

下面的列表说明,这个属性适合的顺序操作:

  1. MATLAB的设置

  2. 壳安装

  3. Prebuild

  4. 构建(汇编程序、编译器、链接器、文档)

  5. Postbuild

  6. 壳清理

  7. MATLAB清理

添加自定义工具链,MATLAB®编码器™构建过程不包括示例ShellCleanup财产。

属性:

GetAccess
公共
SetAccess
公共

Shell脚本设置工具链

指定执行安装程序特定shell命令或脚本工具链。使用命令或脚本,可以调用系统命令的环境。默认值是空的。

数据类型是一个单元阵列的特征向量。每个字符向量是一个shell命令设置。

如果ToolchainInfo调用一个安装程序,您可以使用一组相应的清理例程恢复原来的系统环境设置。例如,如果一个安装程序添加环境变量和系统文件夹路径,您可以使用一个清理例程来删除它们。

例如:

> > h。ShellSetup ans = [] > > h。ShellSetup= 'call "setup_mssdk71.bat"'; >> h.ShellSetup ans = 'call "setup_mssdk71.bat"'

intel_tc.m文件中添加自定义工具链,MATLAB®编码器™构建过程使用下列命令行设置的值ShellSetup:

% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - %设置% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - %以下我们使用% ICPP_COMPILER12%英特尔编译器作为根文件夹%安装。你可以设置一个环境变量或者给% compilervars完整路径。bat文件tc。ShellSetup{1} = 'call %ICPP_COMPILER12%\bin\compilervars.bat intel64';

这个例子,在MATLAB命令窗口中看到相应的属性值,输入:

h = intel_tc;h.ShellSetup
ans = ' % ICPP_COMPILER12% \ bin \ compilervars打电话。蝙蝠intel64”

下面的列表说明,这个属性适合的顺序操作:

  1. MATLAB的设置

  2. 壳安装

  3. Prebuild

  4. 构建(汇编程序、编译器、链接器、文档)

  5. Postbuild

  6. 壳清理

  7. MATLAB清理

属性:

GetAccess
公共
SetAccess
公共

创建BuildTool对象为特定语言

初始化ToolchainInfo创建BuildTool对象指定的语言或一组语言金宝appSupportedLanguages

如果你不指定一个值金宝appSupportedLanguages默认值是“C / c++”。这增加了BuildTool对象的C编译器和c++编译器BuildTool对象ToolchainInfo

覆盖默认值,使用一个名称-值对将指定一个值金宝appSupportedLanguages当你初始化ToolchainInfo。例如:

h = coder.make.ToolchainInfo (“金宝appSupportedLanguages”,“C”);
值可以是:“C”,“c++”,“C / c++”,“Asm / C”,“Asm / c++”,或“Asm / C / c++”

金宝appSupportedLanguages房地产没有任何相关的方法。

添加自定义工具链,MATLAB®编码器™构建过程不包括示例金宝appSupportedLanguages财产。

属性:

GetAccess
公共
SetAccess
受保护的

版本的软件构建工具ToolchainInfo金宝app支持。

默认值是空的。

数据类型是特征向量。

这个属性没有任何关联的方法。直接赋值金宝appSupportedVersion

添加自定义工具链,MATLAB®编码器™构建过程的价值金宝appSupportedVersion被定义的intel_tc.m工具链定义文件:

tc。金宝appSupportedVersion = ' 12.1 ';

这个例子,在MATLAB命令窗口中看到相应的属性值,输入:

h = intel_tc;h.金宝appSupportedVersion
ans = 12.1

属性:

GetAccess
公共
SetAccess
公共

方法

全部展开

版本历史

介绍了R2013a