主要内容

packNGo

包在ZIP文件中生成的代码用于重新定位

描述

例子

packNGo (buildInfo名称,值将代码文件打包到压缩的ZIP文件中,以便您可以在另一个开发环境中重新定位、解包并重新构建它们。名称-值对的列表是可选的。

ZIP文件可以包含以下类型的文件:

  • 源文件(例如,.c.cu,. cpp文件)

  • 头文件(例如,.h.cuh,. hpp文件)

  • 包含构建信息对象的mat文件(.mat文件)

  • 与构建无关的文件(例如,. dll文件和. txt信息文件)需要一个最终的可执行文件

  • 生成二进制文件(例如,可执行文件. exe文件或动态链接库. dll).

    代码生成器将生成的二进制文件(如果存在)包含在ZIP文件中。的ignoreFileMissing属性不适用于生成生成的二进制文件。

  • CMake配置文件(CMakeLists.txt),用于为编译器环境生成makefile或项目。

使用此函数重新定位文件。然后,您可以针对特定的目标环境重新编译这些文件,或者在MATLAB的开发环境中重新编译它们®未安装。默认情况下,该函数将文件打包为代码生成文件夹中的ZIP文件中的平面文件夹结构。可以通过指定名称-值对自定义输出。重新定位ZIP文件后,使用标准ZIP实用程序解压缩文件。

packNGo函数可能会修改传递给第一个函数的构建信息packNGo论点。作为代码打包的一部分,packNGo可以从源文件中查找其他文件,并包括生成信息中记录的路径。一旦找到这些文件packNGo将它们添加到构建信息中。

为了确保packNGo查找头文件,并将其路径添加到buildInfo通过使用addIncludePaths函数。

请注意

类生成独立代码时codegen命令时,可以使用选项可以在一个步骤中生成代码并将代码打包到ZIP文件中。

例子

全部折叠

构建过程完成后,可以在命令窗口中运行packNGo。使用packNGo将生成的代码打包到ZIP文件中portzingbit.zip.维护相对的文件层次结构。

  1. 将文件夹更改为代码生成文件夹。例如,使用MATLAB编码器™codegen / dll / zingbit或用于Simu金宝applink®代码生成,zingbit_grt_rtw

  2. 加载buildInfo对象,该对象描述构建。

  3. 运行packNGo属性设置为packType而且文件名

cdcodegen / dll / zingbit;负载buildInfo.matpackNGo (buildInfo“packType”“分层”...“文件名”“portzingbit”);

如果从代码生成窗格配置ZIP文件打包,则代码生成器使用packNGo在构建过程中输出ZIP文件。

  1. 选择代码生成>包代码和构件.可选地,提供Zip文件名.若要应用更改,请单击好吧

  2. 构建模型。在构建过程结束时,代码生成器输出ZIP文件。ZIP文件中的文件夹结构是分层的。

方法配置ZIP文件打包set_param函数。在构建过程中,代码生成器使用packNGo来创建ZIP文件。

为模型配置ZIP文件打包zingbit,执行该命令:

set_param (“zingbit”“PackageGeneratedCodeAndArtifacts”“上”);

packNGo函数创建文件。zingbit.zip

例如,要为ZIP文件指定另一个名称,请执行以下命令portzingbit.zip,执行以下命令:

set_param (“zingbit”“PackageGeneratedCodeAndArtifacts”“上”);set_param (“zingbit”“PackageName”“portzingbit.zip”

输入参数

全部折叠

在构建过程中,代码生成器放置buildInfo.mat在代码生成文件夹中。这个mat文件包含buildInfo对象。对象提供的信息是packNGo用于生成ZIP文件。

可以将参数指定为buildInfo对象:

负载buildInfo.matpackNGo (buildInfo“packType”“分层”...“文件名”“portzingbit”);

属性的路径buildInfo.mat文件:

buildinffile = fullfile(pathToBuildFolder、“buildInfo.mat”);packNGo(builddinffile,'packType', 'hierarchical',…“文件名”、“portzingbit”);

或者,可以将参数指定为包含的文件夹的路径buildInfo.mat

packNGo (pathToBuildFolder,'packType', 'hierarchical',…“文件名”、“portzingbit”);

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:‘packType’,‘平’,‘nestedZipFiles’,真的

如果“平”,将生成的代码文件打包到一个ZIP文件中,作为一个单一的平面文件夹。这个函数包:

  • 孩子buildInfo.mat文件。

  • CMakeLists.txt文件。

如果“分层”,将生成的代码文件按层次结构打包到一个主ZIP文件中。该层次结构包含顶层模型、引用模型和共享实用程序文件夹。该函数还打包了:

  • 相应的buildInfo.mat文件夹的文件。

  • CMakeLists.txtbuild文件夹中的文件。

例子:‘packType’,‘平’

如果真正的,创建一个包含三个辅助ZIP文件的主ZIP文件:

  • mlrFiles.zip-您的matlabroot文件夹树

  • sDirFiles.zip-代码生成文件夹内和文件夹下的文件

  • otherFiles.zip-必需的文件不在matlabroot开始文件夹树

如果,创建一个主ZIP文件,其中包含文件夹,例如代码生成文件夹和matlabroot

例子:“nestedZipFiles”,真的

如果没有指定“文件名”-value对时,该函数将文件打包到一个名为modelOrFunctionName. zip并将ZIP文件放在代码生成文件夹中。

如果你指定“文件名”用这个值,的名字,函数创建的名字. zip在代码生成文件夹中。

若要为主ZIP文件指定另一个位置,请提供该位置的绝对路径,fullPath/的名字. zip

例子:“文件名”、“/ home / user / myModel.zip”

如果真正的,在ZIP文件中只包含构建代码所需的最小头文件。

如果,包括在ZIP文件的include路径中找到的头文件。

例子:“minimalHeaders”,真的

如果,不包括超文本标记语言ZIP文件中的文件夹。

如果真正的,包括超文本标记语言ZIP文件中的文件夹。

例子:“includeReport”,假的

如果解析错误时终止。

如果真正的,不要在解析错误时终止。

例子:“ignoreParseError”,假的

如果,在丢失文件错误时终止。

如果真正的,不终止丢失文件错误。

例子:“ignoreFileMissing”,假的

限制

  • 该函数只对源文件进行操作,例如* . c* . cppcuh,* . h文件。该函数不支持编译标志、定义或生成文件。金宝app

  • 该函数不为可重用库子系统打包源文件。

  • 可能会包含不必要的文件。该函数可能会从源路径中找到其他文件,并包括构建信息中记录的路径,即使这些文件没有被使用。

  • MATLAB编码器,该函数不会打包使用默认配置设置生成的示例主源文件和头文件。要打包示例主文件,请配置代码生成以生成和编译示例主函数,生成代码,然后打包构建文件。

  • packNGo不打包为MEX目标生成的代码。

版本历史

在R2006b中引入