主要内容

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

別の開発環境にコードを移動する場合

モデルの静的コードファイルと生成コードファイルを別の開発環境に移動する必要がある場合は,打包滚蛋ユーティリティを使用します。この状況は,システムまたは統合開発環境(IDE)にMATLAB®製品および仿金宝app真软件®製品が含まれていない場合に発生します。

コード再配置

pack-n-goユーティリティは,コード生成後のビルドプロセスをツールを使ってカスタマイズし,関数packNGoを使って実行可能イメージのビルドに必要なファイルを見つけてパッケージ化します。ファイルは圧縮ファイルとしてパッケージ化され,移動先では標準邮政编码ユーティリティを使って解凍することができます。

ユーザーインターフェイスを使用したコードのパッケージ化

ユーザーインターフェイスを使用してモデルのコードをパッケージ化し,移動するには,次の手順に従います。

  1. [コンフィギュレーションパラメーター]ダイアログボックスで,[コードとアーティファクトのパッケージ化)を選択します。このオプションは,コード生成後に生成コードとアーティファクトを移動するためにパッケージ化する関数packNGoを実行するようにビルドプロセスを構成します。

  2. (Zipファイル名)フィールドに,生成コードやアーティファクトを移動するためにパッケージ化する邮政编码ファイルの名前を入力します。ファイル名は. zip拡張子をつけてもつけなくても指定できます。拡張子を指定しないか,. zip以外の拡張子を指定した場合,邮政编码ユーティリティが拡張子. zipを付加します。値を指定しない場合,ビルドプロセスは模型. zipという名前を使用します。ここで,模型はコードが生成される最上位モデルの名前を示します。

  3. 変更を適用し,モデルのコードを生成します。移動可能であることを確認するために,生成された邮政编码ファイルを検査します。使用している邮政编码ツールによっては,パッケージを解凍せずにファイルを開いて検査できることがあります。

  4. 邮政编码ファイルを移動先の開発環境に移動してファイルを解凍します。

コマンドラインユーザーインターフェイスを使用したコードのパッケージ化

コマンドラインユーザーインターフェイスを使用してモデルのコードをパッケージ化し,移動するには,次の手順に従います。

zipファイルの構造の選択

モデルビルド用のファイルを生成してパッケージ化する前に,ファイルをサブフォルダーのない,あるいは階層的なフォルダーに入れてパッケージ化するかどうかを決定します。既定の設定では,関数packNGoはファイルすべてを1つのフォルダー,つまりサブフォルダーのない構造に入れてパッケージ化します。

条件 使用する構造
ファイルの移動先が生成されたmakefileを使用しないIDEである。または,コードが必要な静的ファイルの相対位置に依存しない。 単一でサブフォルダーのない構造
生成されたmakefileを使用する,または,コードがファイルの相対位置に依存するため,移動先の開発環境で元の環境のフォルダー構造を維持しなければならない。 階層構造

階層構造を使用すると,関数packNGoは二重構造の邮政编码ファイルを作成し,主邮政编码ファイルの中には次の複数の従属邮政编码ファイルが入ります。

  • mlrFiles.zip-matlabrootフォルダーツリー内のファイル

  • sDirFiles.zip——モデルのコード生成に使用したビルドフォルダー内のファイルとそのサブフォルダー内のファイル

  • otherFiles.zip-matlabrootフォルダーや开始フォルダーツリーに入っていない必要なファイル。

従属邮政编码フォルダー内のファイルパスは主邮政编码ファイルのルートフォルダーに相対的なパスとなり,元の開発フォルダー構造を保持します。

zipファイルの名前の選択

既定の設定では,関数packNGoによって模型という名前がプライマリ邮政编码ファイルに与えられます。別の名前を付けることもできます。ファイルタイプの拡張子を付けずにファイル名を指定すると、関数はを名前の後に付けます。

モデルコードのzipファイルへのパッケージ化

PostCodeGenCommandコンフィギュレーションパラメーター,関数packNGo,およびモデルのビルド情報オブジェクトを使用してモデルコードファイルをパッケージ化します。パッケージ化作業のセットアップには次の情報を使用できます。

  • システムが生成したビルド情報オブジェクト。

    この場合,関数set_paramを使ってコンフィギュレーションパラメーターPostCodeGenCommandを設定することにより,モデルコードが生成される前に,関数packNGoが明示的に呼び出されるようにします。以下に例を示します。

    set_param (bdroot, ' PostCodeGenCommand”、“packNGo (buildInfo); ');

    モデルのコードを生成してディスクに書き出した後,makefileを生成する前に,このコマンドはビルドプロセスがpackNGoへの呼び出しを評価するように指示します。このコマンドは,現在選択されているモデルに対して,システムが生成したビルド情報オブジェクトを使用します。

  • プログラムを使って作成したビルド情報オブジェクト。

    この場合,関数packNGoに渡すビルド情報オブジェクトに含めるパスやファイルは他のビルド情報関数を使って選択できます。以下に例を示します。

    . . .myModelBuildInfo = RTW.BuildInfo;addSourceFiles(myModelBuildInfo, {'test1.c' 'test2.c' '});. . .packNGo (myModelBuildInfo);

次の例では,packNGoの既定の動作を変更する方法を示します。

目的... 指定項目
ファイルパッケージの構造を階層構造に変更 packNGo (buildInfo packType的“分层”);
プライマリ邮政编码ファイルの名前を変更 packNGo (buildInfo“文件名”“zippedsrcs”);
ファイルパッケージの構造を階層構造に変更し,主邮政编码ファイルの名前を変更 packNGo (buildInfo packType的“分层”……
“文件名”“zippedsrcs”);
インクルードパスにあるヘッダーファイルを邮政编码ファイルにインクルードする packNGo (buildInfo, minimalHeaders的假);
解析エラーと不足しているファイルに対する警告を生成 packNGo (buildInfo ignoreParseError的真实……
“ignoreFileMissing”真正的);

メモ

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

生成されたzipファイルの検査

移動可能であることを確認するには,生成された邮政编码ファイルを検査します。使用している邮政编码ツールによっては,パッケージを解凍せずにファイルを開いて検査できることがあります。ファイルを解凍する場合、階層構造でモデル コード ファイルをパッケージ化した場合は、メインの邮政编码ファイルと2次的なzipファイルを解凍する必要があります。従属邮政编码ファイルを解凍すると,ファイルの相対パスが維持されます。

zipファイルの移動と解凍

生成された邮政编码ファイルを移動先の開発環境に移動してファイルを解凍します。

コードパッケージ化の例

この例では,コマンドラインインターフェイスを使用してモデル例rtwdemo_rtwintro用に生成したコードファイルをパッケージ化する方法を説明します。

  1. 作業フォルダーを書き込み可能フォルダーとして設定します。

  2. モデルrtwdemo_rtwintroを開いて作業フォルダーにそのコピーを保存します。

  3. 次のMATLABコマンドを入力します。

    set_param(‘rtwdemo_rtwintro’,‘PostCodeGenCommand’,……“packNGo (buildInfo,“packType”“分层”)的);

    関数packNGoを呼び出す文字配列内では,文字配列“packType”“分层”が入れ子になっているので,一重引用符を二重に使用しなければなりません。

  4. モデルのコードを生成します。

  5. 生成された邮政编码ファイルrtwdemo_rtwintro.zipを検査します。邮政编码ファイルには2つのセカンダリ邮政编码ファイル,mlrFiles.zipsDirFiles.zipが含まれています。

  6. 邮政编码ファイルmlrFiles.zipsDirFiles.zipを検査します。

  7. 邮政编码ファイルを移動先の開発環境に移動して解凍します。

制限

関数packNGo

この関数に適用される制限の詳細についてはpackNGoを参照してください。

既定以外の拡張子をもつ実行可能ファイル

ビルドプロセスがテンプレートmakefileアプローチを使用する場合,packNGoはリンカーツールで指定された実行可能ファイル拡張子を使用して,パッケージングを必要とするバイナリアーティファクトを判別します。

既定値ではない拡張子をもつ実行可能ファイルを生成する場合,テンプレートmakefileと関連付けられたツールチェーンにその拡張子が保存されていることを確認します。詳細については,テンプレートmakefileとツールチェーンの関連付けを参照してください。

ビルドプロセスがツールチェーンで保存さている拡張子とは異なる拡張子をもつ実行可能ファイルを生成する場合,packNGoはその実行可能ファイルをパッケージ化しません。

関連するトピック