サポートされていないコンパイラを使用するビルド システムからの Polyspace プロジェクトの作成
問題
ビルド コマンドからの自動プロジェクト作成がコンパイラでサポートされていません。
原因
ビルド システムからの自動プロジェクト作成には、コンパイラ構成が Polyspace® で使用可能でなければなりません。Polyspace では、コンパイラ構成ファイルは特定のコンパイラにのみ提供されています。
サポート対象のコンパイラについての詳細は、ビルド システムからのプロジェクト作成の要件を参照してください。
解決法
サポートされていないコンパイラで自動プロジェクト作成を有効にするには、独自のコンパイラ構成ファイルを作成します。
から、既存の構成ファイルの 1 つをコピーします。構成ファイルとコンパイラ名とのマッピングを使用して、コンパイラに最もよく対応する構成を選択します。polyspaceroot
\polyspace\configure\compiler_configuration\ファイルを
として保存します。my_compiler
.xmlmy_compiler
はファイルを識別しやすい名前にすることができます。ファイルを編集するには、インストール フォルダー以外の場所にファイルを保存します。編集が終了したら、ファイルを
にコピーし直さなければなりません。polyspaceroot
\polyspace\configure\compiler_configuration\対象のコンパイラを表すように、ファイルの内容を編集します。XML 要素間のエントリを適切なコンテンツに置き換えます。
編集した XML ファイルを
に保存した後、ビルド コマンドを使用して自動的にプロジェクトを作成します。polyspaceroot
\polyspace\configure\compiler_configuration\コンパイル エラーなどのエラーが表示される場合は、MathWorks® テクニカル サポートにお問い合わせください。ビルド コマンドのトレース後、ソフトウェアによって、構成ファイルとビルド コマンドから検出されたコンパイラ仕様を使用して特定のファイルがコンパイルされます。コンパイル エラーは、構成ファイル内の問題を示している可能性があります。
ヒント
コンパイラ構成ファイルが動作するかをすばやく確認するには、完了に長時間かからないサンプルのビルドで自動プロジェクト設定を実行します。コンパイラ構成ファイルでプロジェクトを設定した後、より大きなビルド用にこのファイルを使用することができます。
コンパイラ構成ファイルの要素
以下の表はコンパイラ構成ファイルの XML 要素の一覧で、要素内のコンテンツが何を表すかについて説明します。
XML 要素 | コンテンツの説明 | GNU® C コンパイラでのコンテンツの例 |
---|---|---|
<compiler_names><name> ... </name><compiler_names> | コンパイラの実行可能ファイル名。この実行可能ファイルは、
指定した名前が既存のコンパイラ構成ファイルにあると、エラーが発生します。エラーを防ぐには、追加オプション |
|
<include_options><opt> ... </opt></include_options> | インクルード フォルダーを指定するためにコンパイラで使用するオプションです。 オプションの後に引数が来るように指定するには、 | -I |
<system_include_options><opt> ... </opt></system_include_options> | システム ヘッダーを指定するためにコンパイラで使用するオプションです。 オプションの後に引数が来るように指定するには、 | -isystem |
<preinclude_options><opt> ... </opt></preinclude_options> | コンパイルされるオブジェクトにファイルを強制的にインクルードするためにコンパイラで使用するオプションです。 オプションの後に引数が来るように指定するには、 | -include |
<define_options><opt> ... </opt></define_options> | マクロを事前定義するためにコンパイラで使用するオプションです。 オプションの後に引数が来るように指定するには、 | -D |
<undefine_options><opt> ... </opt></undefine_options> | マクロの前の定義を元に戻すためにコンパイラで使用するオプションです。 オプションの後に引数が来るように指定するには、 | -U |
<semantic_options><opt> ... </opt></semantic_options> | コンパイラの動作を修正するために使用するオプションです。これらのオプションは、コードが準拠すべき言語設定を指定します。
|
|
<compiler> ... </compiler> | コンパイラに対応するか、ほぼ一致する Polyspace コンパイラ オプションです。この要素の内容は、Polyspace プロジェクトまたはオプション ファイルの [コンパイラ] オプションに直接変換されます。 利用可能なコンパイラの完全なリストについては、 | gnu4.7 |
<compile_options_list><opt> ... </opt></compile_options_list> | リンクを実行せずにソース ファイルをコンパイルするために使用するオプションです。 | -c |
<preprocess_options_list><opt> ... </opt></preprocess_options_list> | コンパイラが前処理済みファイルを生成する方法を指定するオプションです。 コンパイラで前処理済みファイルの標準出力への送信が許可されない場合は、マクロ |
マクロ |
<preprocessed_output_file> ... </preprocessed_output_file> | 前処理された出力が格納されるファイルの名前です。 前処理された出力ファイルの名前がソース ファイルを基にしている場合、以下に示すマクロを使用できます。
たとえば、前処理されたファイル名がソース ファイルと同じだが拡張子が | この要素の例については、既存のコンパイラ構成ファイル |
<src_extensions><ext> ... </ext></src_extensions> | ソース ファイルのファイル拡張子です。 |
|
<obj_extensions><ext> ... </ext></obj_extensions> | オブジェクト ファイルのファイル拡張子です。 | o |
<precompiled_header_extensions> ... </precompiled_header_extensions> | プリコンパイル済みヘッダー (使用可能な場合) のファイル拡張子です。 | gch |
<polyspace_extra_options_list> <opt> ... </opt> <opt> ... </opt> </polyspace_extra_options_list> | 以降の解析に使用される追加オプションです。 たとえば、以降の解析で非 ANSI® 拡張キーワードによるコンパイル エラーを回避するには、 <polyspace_extra_options_list> <opt>-D MACRO1</opt> <opt>-D MACRO2=VALUE</opt> </polyspace_extra_options_list> 詳細は、 |
既存の構成ファイルとコンパイラ名の間のマッピング
に含まれる構成ファイルから、使用しているコンパイラの構成に最もよく似ているものを選択します。次の表を使用して、コンパイラを構成ファイルにマッピングします。polyspaceroot
\polyspace\configure\compiler_configuration\
コンパイラ名 | ベンダー | XML ファイル |
---|---|---|
ARM® | ARM Keil | armcc.xml |
armclang.xml | ||
Visual C++® | Microsoft® | cl.xml |
Clang | 該当なし | clang.xml |
CodeWarrior® | NXP | codewarrior.xml |
cx6808 | Cosmic | cx6808.xml |
cosmic.xml | ||
Diab | Wind River® | diab.xml |
GCC | 該当なし | gcc.xml |
Green Hills® | Green Hills Software | ghs.xml |
IAR Embedded Workbench | IAR | iar.xml |
iar-arm.xml | ||
iar-msp430-avr.xml | ||
iar-riscv.xml | ||
iar-rl78-rh850.xml | ||
Intel® oneAPI (icc または icpc ) | Intel | intel.xml |
intel-windows.xml | ||
Renesas® | Renesas | renesas-rh850.xml |
renesas-rl78.xml | ||
renesas-rx.xml | ||
renesas-sh.xml | ||
TASKING® | Altium® | tasking.xml |
Tiny C | 該当なし | tcc.xml |
TM320 とその派生物 | Texas Instruments® | ti.xml |
xc8 (PIC) | Microchip | microchip.xml |