Main Content

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

コンパイラとリンカーのエラー

MATLAB® Coder™ からライブラリ、MEX 関数、または実行可能ファイルを生成するとき、コード ジェネレーターは C/C++ コンパイラを呼び出してバイナリ アーティファクトをビルドします。この処理中に、ビルド エラーが発生することがあります。これらのエラーは、コンパイル段階、リンク段階、またはビルドのその他の段階で発生する場合があります。コンパイル エラー、リンク エラー、および警告は、コード生成レポートの [ビルド ログ] タブで確認できます。

表示される特定のエラー メッセージと警告は、プラットフォームで使用するコンパイラとツールチェーンによって決まります。現在のコンパイラを確認するか、別のものを選択するには、コマンド プロンプトで次を入力します。

mex -setup

ビルド エラーが発生する理由は多種多様です。エラーを診断して修正するには、コンパイラのドキュメンテーションに記載されているエラー メッセージを調べる必要がある場合があります。コード生成時にビルド エラーを引き起こす可能性のある、よくある問題を以下に示します。

main 関数が指定されていない

C/C++ 実行可能ファイルを生成するには、main 関数を指定します。main 関数を指定しないと、ビルド エラーが発生します。main 関数は、別のメイン ファイルに格納されます。コードを生成するとき、MATLAB Coder はメイン ファイルの例を生成しますが、それをコンパイル時に自動的に使用することはありません。このメイン関数の例は、モック入力値によって生成コードを呼び出します。現実的な入力と出力の処理を行うには、このメイン ファイルの例を変更するか、独自の main 関数を作成しなければなりません。

メイン ファイルは、codegen コマンドのコマンド ライン パラメーターとして指定するか、MATLAB Coder アプリで、または構成パラメーターを使用して指定できます。詳細と例については、以下を参照してください。

生成したメイン ファイルの例をコード ジェネレーターが自動的に使用して、テスト目的の実行可能ファイルをビルドするように設定するには、構成オブジェクトの GenerateExampleMain プロパティを 'GenerateCodeAndCompile' に設定します。main 関数の例を使用した生成コードの組み込みを参照してください。

外部コード ファイルが指定されていない

コードの coder.ceval に外部 C 関数が使用されている場合、その関数を含む外部ファイルを指定しなければなりません。そうしない場合、ビルド エラーが発生することがあります。ファイルは、codegen コマンドのコマンド ライン パラメーターとして指定するか、MATLAB Coder アプリで、または構成パラメーターを使用して指定できます。詳細と例については、以下を参照してください。

外部コードによるエラー

ビルド プロセスで外部コードを導入すると、その外部コード独自のエラーが取り込まれることがあります。外部コードは、複数の方法で導入できます。

  • 外部ヘッダー ファイルに定義されるcoder.opaqueを使用して作成する外部型の定義

  • 外部ヘッダー ファイルに定義されるcoder.cstructnameを使用して作成する構造体型の定義

  • coder.ceval を使用した外部コード呼び出し

  • codegen コマンドへの外部ビルド ファイルの指定

  • coder.cinclude または coder.updateBuildInfo による外部コード ファイルのインクルード

  • アプリの [カスタム コード] タブか、コード生成構成パラメーター CustomSource および CustomInclude を使用した外部コードのインクルード

このリストがすべてを網羅しているとは限りません。これらの方法で発生したエラーに対処するには、外部コードの問題を調査して修正するか、MATLAB コードからその外部コードを分離しなければなりません。

関連するトピック

外部の Web サイト