Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

カスタム ツールチェーンの検証のトラブルシューティング

無効なビルド ツール コマンド パス

パスまたはコマンド ファイル名が正しくない場合は、検証により以下が表示されます。

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
テンプレート makefiledefault_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);