このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
カスタム ツールチェーンの検証のトラブルシューティング
無効なビルド ツール コマンド パス
パスまたはコマンド ファイル名が正しくない場合は、検証により以下が表示されます。
Cannot find file '
path+command
'. The file does not exist.
次の 2 行について、例のツールチェーン定義ファイルから考えます。
tool.setCommand('abc'); tool.setPath('/toolchain/');
ビルド ツールがインストール済みであることを確認します。
ツールチェーン定義ファイル内の
tool.setCommand
およびtool.setPath
行に与えられている引数を確認します。
ビルド ツールがシステム パス内に無い
ビルド ツールのパスが提供されておらず、コマンド ファイルがシステム パス内に存在しないときは、検証により以下が表示されます。
Cannot find '
command
'. It is not in the system path.
次の 2 行について、例のツールチェーン定義ファイルから考えます。
tool.setCommand('icl'); tool.setPath('');
setPath()
への引数が絶対パスではなく ''
であるため、ビルド ツールはシステム パス上になければなりません。
この問題を修正する方法は以下です。
coder.make.ToolchainInfo.ShellSetup
プロパティを使用してパスをツールチェーン インストールに追加します。システム セットアップを使用してツールチェーン インストール ディレクトリをシステム環境パスに追加します。
または、''
をコマンド ファイルの絶対パスに置き換えます。
ツール パスが存在しない
ビルド ツール パスのパスが提供されているが存在しない場合は、検証により以下が表示されます。
Path '
toolpath
' does not exist.
この問題を修正する方法は以下です。
ビルド ツールの実際のパスをチェックします。次に、ツールチェーン定義ファイル内の
coder.make.BuildTool.setPath
の値を更新します。システム セットアップを使用してツールチェーン インストール ディレクトリをシステム環境パスに追加します。次に、
coder.make.BuildTool.setPath
の値を''
に設定します。
ビルダーまたはビルド ツールと互換性のないパス
ビルド ツール パス内のファイル区切り文字 (たとえば '/'
または '\'
) がビルダー アプリケーションと互換性がない場合、検証により以下が表示されます。
Path '
toolpath
' does not exist.
この問題を修正するには、指定されたパスが make ファイルによって使用されるときに、ツールチェーン定義内のファイル区切りが tc.BuilderApplication
で受け入れられる 'FileSeparator'
と一致していることを確認します。次に、ツールチェーン定義ファイル内の coder.make.BuildTool.setPath
の値を更新します。
ほとんどのツールチェーンおよびビルド ツール (LCC は顕著な例外の 1 つです) では、'/'
をファイル区切りとして認識します。カスタム ツールチェーン定義を期待どおりに動作させるには、ファイル区切りとして '/'
を使用してみてください。
サポートされていないプラットフォーム
ツールチェーンがホスト コンピューター プラットフォーム上でサポートされていない場合、検証により以下が表示されます。
Toolchain 'tlchn' is supported on a 'pltfrma' platform. However, you are running on a 'pltfrmb' platform.
この問題を修正する方法は以下です。
ツールチェーン定義ファイル内の
coder.make.ToolchainInfo.Platform
のプロパティのエラーをチェックします。ツールチェーン定義ファイルを更新するか、またはホスト コンピューター プラットフォームをサポートするものと置き換えます。
ホスト コンピューター プラットフォームを変更します。
ツールチェーンがインストールされていない
ツールチェーンがインストールされていない場合、検証により以下が表示されます。
Toolchain is not installed
この問題を修正するためには、カスタム ツールチェーンの使用で説明されているように、想定されているツールチェーンをインストールするか、または正しいツールチェーンが選択されているかを確認します。
プロジェクトまたは構成でテンプレート makefile を使用
既定では、MATLAB® Coder™ は選択されたビルド ツールチェーンを使用して生成コードのビルドを試みます。ただし、以下のセクション内で詳述されている makefile 構成オプションがその既定値に設定されていない場合は、MATLAB Coder はツールチェーンを使用できず、生成コードのビルド用のテンプレート makefile を使用する方法に戻ります。
メモ
テンプレート makefile (TMF) に対するサポートは将来のリリースで削除される予定です。
MATLAB Coder プロジェクトの設定
[プロジェクトの設定] ダイアログ ボックスの [すべての設定] パラメーター名 | 既定の設定 |
---|---|
makefile の生成 | はい |
Make コマンド | make_rtw |
テンプレート makefile | default_tmf |
コンパイラ最適化レベル | オフ |
関数 codegen
のコマンド ライン構成パラメーター
coder.CodeConfig または coder.EmbeddedCodeConfig パラメーター名 | 既定値 |
---|---|
GenerateMakefile | 'true' |
MakeCommand | 'make_rtw' |
TemplateMakefile | 'default_tmf' |
CCompilerOptimization | 'Off' |
ツールチェーンのアプローチを使用するには、構成オプションを手作業で既定値にリセットするか、以下を実行します。
プロジェクト
project_name
の設定をリセットするには、MATLAB コマンド ラインで次のように入力します。coder.make.upgradeMATLABCoderProject(project_name)
コマンド ライン設定を構成オブジェクト
config
用にリセットするには、更新された構成オブジェクトnew_config
を作成し、次にnew_config
を関数codegen
と共に後続のビルド内で使用します。MATLAB コマンド ラインで次のように入力します。new_config = coder.make.upgradeCoderConfigObject(config);