Main Content

エラーの解決: コード生成でサポートされていない関数

問題

一部の MATLAB® 関数はコード生成でサポートされていません。それらのサポートされていない関数のコードを生成しようとすると、次のエラー メッセージが表示されます。

The function <function_name> is not supported for code generation.

考えられる解決策

このエラー メッセージは、指定された関数のコードをコード ジェネレーターで生成できない場合に発生します。プロジェクトのコードを生成する場合は、展開プラットフォームに応じて次の回避策を使用します。

MEX ターゲット: 関数を外部関数として宣言する

サポートされていない関数を MEX で呼び出すには、その関数を MATLAB コードで外部関数として宣言します。関数はコード生成をバイパスし、代わりに MATLAB エンジンを使用して呼び出しを実行します。この機能は、MEX 関数で MATLAB エンジンが使用可能な場合にのみ使用できます。自動的に外部関数としてマークされる関数もありますが、それ以外の関数については明示的に外部関数として呼び出す必要があります。関数を外部関数として宣言するには、coder.extrinsic を使用します。詳細については、生成コードでの MATLAB エンジンを使用した関数呼び出しの実行を参照してください。

スタンドアロン ターゲット: 関数を MATLAB コードまたは C/C++ コードで手動で実装する

サポートされていない関数を使用するプロジェクトのスタンドアロン コードを生成するには、サポートされていない関数をコード生成でサポートされるカスタムの MATLAB コードまたは C/C++ コードとして手動で実装します。

サポートされていない機能を手書きの C/C++ コードを使用して実装するには、そのコードを MATLAB コード内から coder.ceval を使用して呼び出します。次に、エントリポイントの MATLAB 関数のコードを通常どおりに生成します。

必要な関数に対応するサードパーティのカスタムの MATLAB コードまたは C/C++ コードが見つかる場合もあります。

サードパーティのカスタムの MATLAB コードを使用する前に、コードの MEX 関数を生成して想定どおりに実行されることを確認します。サードパーティの C/C++ コードについても同様に、コードまたはライブラリが想定どおりに実行されることを確認します。

MATLAB Compiler™ をサポートするプラットフォームに MATLAB コードを展開することもできます。コンパイラで生成されるコードは、MATLAB ランタイム ライブラリへのアクセスを必要とするため、完全にスタンドアロンではありません。配布可能な MATLAB コードの記述 (MATLAB Compiler)を参照してください。

参考

|

関連するトピック