Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

packNGo

移動するために生成コードを ZIP ファイルにパッケージ化

説明

packNGo(buildInfo,Name,Value) はコード ファイルを ZIP 圧縮ファイルにパッケージ化して、他の開発環境に移動、解凍、およびリビルドできるようにします。名前と値のペアのリストはオプションです。

ZIP ファイルに含まれるコード ファイルのタイプは以下のとおりです。

  • ソース ファイル (.c ファイルや .cpp ファイルなど)

  • ヘッダー ファイル (.h ファイルや .hpp ファイルなど)

  • ビルド情報オブジェクトを含む MAT ファイル (.mat ファイル)

  • 最終的な実行可能ファイルに必要な非ビルド関連ファイル (.dll ファイルや .txt 情報ファイルなど)

  • ビルドで生成されたバイナリ ファイル (実行可能ファイル .exe やダイナミック リンク ライブラリ .dll など)。

    コード ジェネレーターは、ビルドで生成されたバイナリ ファイル (存在する場合) を ZIP ファイルに含めます。ignoreFileMissing プロパティは、ビルドで生成されたバイナリ ファイルには適用されません。

この関数を使用してファイルを移動します。そのファイルは、特定のターゲット環境用に再コンパイルしたり、MATLAB® がインストールされていない開発環境でリビルドしたりできます。既定の設定では、関数によってファイルはコード生成フォルダー内の ZIP ファイルにサブフォルダーのない構造としてパッケージ化されます。名前と値のペアを指定して出力をカスタマイズできます。ZIP ファイルの移動後に圧縮ファイルを解凍するには標準の ZIP ユーティリティを使用します。

関数 packNGo は最初の packNGo 引数で渡されたビルド情報を変更する場合があります。コードのパッケージ化の一部として、packNGo はビルド情報に記録されたソース パスおよびインクルード パスから追加のファイルを検索できます。これらのファイルが見つかると、packNGo は見つかったファイルをビルド情報に追加します。

packNGo によってヘッダー ファイルを必ず見つけられるようにするために、関数 addIncludePaths を使用して buildInfo にパスを追加します。

メモ

codegen コマンドを使用してスタンドアロン コードを生成するときに、-package オプションを使用して、コードの生成と、ZIP ファイルでのコードのパッケージ化の両方を 1 つのステップで実行できます。

すべて折りたたむ

ビルド プロセスが完了した後、コマンド ウィンドウから packNGo を実行できます。packNGo を使用して、生成コードをファイル portzingbit.zip に ZIP ファイル パッケージ化します。相対的なファイル階層を維持します。

  1. フォルダーをコード生成フォルダーに変更します。たとえば、MATLAB Coder™ を使用する場合は codegen/dll/zingbit、Simulink® コード生成の場合は zingbit_grt_rtw になります。

  2. ビルドを記述する buildInfo オブジェクトを読み込みます。

  3. packNGopackType プロパティおよび fileName プロパティを設定して実行します。

cd codegen/dll/zingbit;
load buildInfo.mat
packNGo(buildInfo,'packType', 'hierarchical', ...
   'fileName','portzingbit');

コード生成ペインから ZIP ファイルのパッケージ化を設定する場合、コード ジェネレーターはビルド プロセス中に packNGo を使用して ZIP ファイルを出力します。

  1. [コード生成][コードとアーティファクトのパッケージ化] を選択します。オプションで、[Zip ファイル名] を入力します。変更を適用するには、[OK] をクリックします。

  2. モデルを作成します。コード ジェネレーターは、ビルド プロセスの最後に ZIP ファイルを出力します。ZIP ファイルのフォルダー構造は階層的です。

関数 set_param を使用して ZIP ファイルのパッケージ化を設定する場合、コード ジェネレーターはビルド プロセス中に packNGo を使用して ZIP ファイルを出力します。

ファイル zingbit.zip 内のモデル zingbit の ZIP ファイル パッケージ化を設定するには、関数 set_param を使用します。

set_param('zingbit','PostCodeGenCommand', ...
   'packNGo(buildInfo);');

入力引数

すべて折りたたむ

ビルド プロセス中、コード ジェネレーターはコード生成フォルダー内に buildInfo.mat を配置します。この MAT ファイルには buildInfo オブジェクトが含まれています。このオブジェクトは packNGo が ZIP ファイルを生成するために使用する情報を提供します。

引数を buildInfo オブジェクトとして指定できます。

load buildInfo.mat
packNGo(buildInfo,'packType', 'hierarchical', ...
   'fileName','portzingbit');

または、buildInfo.mat ファイルへのパスとして引数を指定できます。

buildInfoFile = fullfile(pathToBuildFolder, 'buildInfo.mat');
packNGo(buildInfoFile,'packType', 'hierarchical', ...
   'fileName','portzingbit');

または、buildInfo.mat を含むフォルダーへのパスとして引数を指定できます。

packNGo(pathToBuildFolder,'packType', 'hierarchical', ...
   'fileName','portzingbit');

名前と値のペアの引数

オプションのコンマ区切りされた Name,Value の引数ペアを指定します。ここで、Name は引数名、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順序で指定できます。

例: 'packType','flat','nestedZipFiles',true

'flat' の場合、生成コード ファイルをサブフォルダーのない単一の構造として ZIP ファイルにパッケージ化します。

'hierarchical' の場合、生成コード ファイルをプライマリ ZIP ファイルに階層的にパッケージ化します。階層には、最上位モデル、参照モデル、および共有ユーティリティ フォルダーが含まれます。関数は、そのフォルダーの対応する buildInfo.mat ファイルもパッケージ化します。

例: 'packType','flat'

true の場合、以下の 3 つのセカンダリ ZIP ファイルを含む 1 つのプライマリ ZIP ファイルを作成します。

  • mlrFiles.zipmatlabroot フォルダー ツリー内にあるファイル

  • sDirFiles.zip — コード生成フォルダー内およびその下にあるファイル

  • otherFiles.zipmatlabroot または start フォルダー ツリー内にない必須ファイル

false の場合、フォルダー (たとえばコード生成フォルダーと matlabroot) を含むプライマリ ZIP ファイルを作成します。

例: 'nestedZipFiles',true

'fileName' と値のペアを指定しない場合、この関数は modelOrFunctionName.zip という名前の ZIP ファイルにファイルをパッケージ化し、コード生成フォルダーに ZIP ファイルを配置します。

'fileName' を値 'myName' で指定する場合、この関数は myName.zip をコード生成フォルダーに作成します。

プライマリ ZIP ファイルに別の場所を指定するには、その場所への絶対パス fullPath/myName.zip を指定します。

例: 'fileName','/home/user/myModel.zip'

true の場合、コードをビルドするのに必要な最低限のヘッダー ファイルのみを ZIP ファイルに含めます。

false の場合、インクルード パスにあるヘッダー ファイルを ZIP ファイルに含めます。

例: 'minimalHeaders',true

false の場合、ZIP ファイルに html フォルダーを含めません。

true の場合、ZIP ファイルに html フォルダーを含めます。

例: 'includeReport',false

false の場合、解析エラー時に終了します。

true の場合、解析エラー時に終了しません。

例: 'ignoreParseError',false

false の場合、ファイル不足エラー時に終了します。

true の場合、ファイル不足エラー時に終了しません。

例: 'ignoreFileMissing',false

制限

  • この関数は、*.c*.cpp および *.h の拡張子をもつソース ファイルのみを処理します。この関数はコンパイルのフラグ、定義、および makefile をサポートしません。

  • 関数は、再利用可能なライブラリ サブシステムのソース ファイルをパッケージ化しません。

  • 必要のないファイルが含まれる可能性があります。関数は、ビルド情報に記録されたソース パスおよびインクルード パスからの追加のファイルを、これらのファイルが使用されていない場合でも検索する場合があります。

  • MATLAB Coder の場合、この関数は既定の構成設定を使用して生成する、メイン ソース ファイルとヘッダー ファイルの例をパッケージ化しません。メイン ファイルの例をパッケージ化するには、コード生成を構成し、main 関数の例を生成してコンパイルし、コードを生成してからビルド ファイルをパッケージ化します。

  • packNGo は、MEX ターゲット用に生成されたコードをパッケージ化しません。

R2006b で導入