このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
コンパイラとリンカーのエラー
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 コードからその外部コードを分離しなければなりません。