このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
ビルド システムからのプロジェクト作成の要件
ビルド システムからの自動プロジェクト作成には、ビルド コマンドや makefile が一定の要件を満たしていなければなりません。
コンパイラ要件
コンパイラがローカルで呼び出されること。
ccache
などのコンパイラ キャッシュやdistmake
などの分散ビルド システムが使われている場合、ソフトウェアでビルドをトレースできません。それらを非アクティブにしなければなりません。コンパイラはクリーン ビルドを実行すること。
コンパイラがインクリメンタル ビルドのみを実行する場合は、該当のオプションを使用してすべてのソース ファイルをビルドします。たとえば、
gmake
を使用する場合は、-B
または-W
オプションを追加して強制的にクリーン ビルドを行います。GNU®makefileName
make
で使用可能なオプションのリストは、make オプションを参照してください。コンパイラ構成が Polyspace® で使用可能であること。現在サポートされているコンパイラには、以下が含まれています。
Arm Keil。
ARM® v5。
ARM v5 コンパイラ (-compiler armcc)
も参照してください。ARM v6。
ARM v6 コンパイラ (-compiler armclang)
も参照してください。Clang。サポートされているバージョンのリストについては、Clang コンパイラを参照してください。
Cosmic。
Cosmic コンパイラ (-compiler cosmic)
も参照してください。Wind River® Diab。
Diab コンパイラ (-compiler diab)
も参照してください。Green Hills®.
Green Hills コンパイラ (-compiler greenhills)
も参照してください。GNU C/C++。サポートされているバージョンのリストについては、GCC コンパイラを参照してください。
IAR Embedded Workbench。
IAR Embedded Workbench コンパイラ (-compiler iar-ew)
も参照してください。IAR システム。
Intel® C++ Compiler Classic (icc/icl) コンパイラ。
Intel C++ Compiler Classic (icc/icl) (-compiler intel)
も参照してください。Microsoft® Visual C++®.サポートされているバージョンのリストについては、Visual Studio コンパイラを参照してください。
MPLAB XC8 C。
MPLAB XC8 C コンパイラ (-compiler microchip)
も参照してください。コンパイルでは
xc8-cc
実行可能ファイルを使用する必要があります。picc
実行可能ファイルを使用する v2.0 よりも前の古い MPLAB XC8 コンパイラと MPLAB C18 コンパイラはサポートされていません。NXP CodeWarrior®。
NXP CodeWarrior コンパイラ (-compiler codewarrior)
も参照してください。Renesas®.
Renesas コンパイラ (-compiler renesas)
も参照してください。Altium® TASKING。
TASKING コンパイラ (-compiler tasking)
も参照してください。Texas Instruments®.
Texas Instruments コンパイラ (-compiler ti)
も参照してください。tcc - Tiny C Compiler
コンパイラ構成が Polyspace で使用できない場合は、以下のようにします。
コンパイラ用にコンパイラ構成ファイルを特定の形式で作成します。詳細は、サポートされていないコンパイラを使用するビルド システムからの Polyspace プロジェクトの作成を参照してください。
MathWorks テクニカル サポートに連絡します。詳細は、Polyspace 実行時の問題に関するテクニカル サポートへのお問い合わせを参照してください。
コードを Cygwin™ でビルドする場合、ビルド システムからの Polyspace プロジェクト作成には Cygwin のバージョン 2.x または 3.x を使用します (Cygwin バージョン 2.10 や 3.0 など)。
TASKING コンパイラで、sfr のファイルの代替として拡張子が
.asfr
のファイルを使用する場合、Polyspace ではファイルを見つけられない可能性があります。エラーが発生する場合、オプション[インクルード] (-include)
を使用して前処理済みのコードで.asfr
ファイルを明示的に#include
します。通常、ステートメント
#include __SFRFILE__(__CPU__)
をコンパイラ オプション--alternative-sfr-file
と同時に使用して、代わりの stf ファイルを指定します。ファイルへのパスは通常
です。たとえば、TASKING コンパイラがTasking_C166_INSTALL_DIR
\include\sfr\regCPUNAME
.asfrC:\Program Files\Tasking\C166-VX_v4.0r1\
にインストールされていて、CPU 関連フラグの-Cxc2287m_104f
または--cpu=xc2287m_104f
を使用する場合、パスはC:\Program Files\Tasking\C166-VX_v4.0r1\include\sfr\regxc2287m.asfr
になります。
ビルド コマンドの要件
ビルド コマンドは、ユーザーが操作することなく完了まで実行されなければなりません。
Linux® では、UNIX® シェル (sh) コマンドのみが使用されること。bash、tcsh または zsh にのみサポートされているコマンドなど、ビルドで高度なコマンドが使用される場合、Polyspace はビルドをトレースできません。
Windows® では、DOS コマンドのみが使用されていること。PowerShell や Cygwin にのみサポートされているコマンドなど、ビルドで高度なコマンドが使用される場合、Polyspace はビルドをトレースできません。Polyspace でビルド コマンドがサポートされているかどうかを確認するには、
cmd.exe
のコマンドを Windows で実行します。詳細は、Polyspace でビルド スクリプトがサポートされるかどうかの確認を参照してください。ビルド コマンドに、ワイルドカード文字の使用により 1 行で複数のソースがコンパイルされている行が含まれていてはなりません。例:
cl.exe *.c
静的にリンクされたライブラリを使用する場合、Polyspace ではビルドをトレースできません。Linux では、完全な Linux Standard Base (LSB) パッケージをインストールして、ダイナミック リンクを許可できます。たとえば、Debian® システムで、コマンド
apt-get install lsb
を使用して LSB をインストールします。ビルド コマンドはエイリアスを使用しないこと。
alias
コマンドは Linux でコマンドのエイリアスを作成するために使用されます。ビルド コマンドがそれらの別名を使用すると、Polyspace は認識できません。ビルド プロセスで
LD_PRELOAD
メカニズムを使用しないこと。コンパイル コマンドに、短いファイル名または 8.3 のファイル名 (以下のパスの
PROGRA~
やC__~1
など) が含まれていてはなりません。"command": "C:\\PROGRA~1\\mingw64\\bin\\C__~1.EXE
ビルド コマンドは現在のマシンで完全に実行可能で、別のユーザーの権限を要求しないこと。
ビルドがユーザー権限を変更するために
sudo
を使用したり、別のマシンにリモートからログインするためにssh
を使用する場合、Polyspace はビルドをトレースできません。ビルド コマンドが
>
または|
文字によるリダイレクトを使用する場合、リダイレクトは Polyspace がコマンドをトレースした後に発生します。そのため、Polyspace はリダイレクトを処理しません。たとえば、コマンドが次のように発生し、
以下のように入力した場合、command1 | command2
ビルドをトレースするとき、Polyspace は最初のコマンドのみをトレースします。polyspace-configure command1 | command2
オペレーティング システム macOS El Capitan (10.11) またはそれ以降の macOS のバージョンで System Integrity Protection (SIP) 機能が有効な場合、
polyspace-configure
を使用してプロジェクトまたはビルド オプション ファイルを生成できるのは、polyspace-configure
に渡すコンパイル データベース ファイルの生成がビルド システムでサポートされている場合に限られます。JSON コンパイル データベースからの Polyspace オプション ファイルの作成を参照してください。ビルド システムがコンパイル データベース ファイルの生成をサポートしていない場合、SIP 機能が有効にされていると、Polyspace ではビルド コマンドをトレースできません。その場合は別の方法として、ビルド コマンドをトレースする前に SIP 機能を無効にします。ビルド コマンドのトレース後にこの機能を再度有効にできます。CylancePROTECT、Avecto、Tanium のセキュリティ関連製品など、他のセキュリティ アプリケーションにも同様の考慮事項が適用されます。
ビルド処理中にコンピューターが休止状態になると、Polyspace でビルドをトレースできない可能性があります。
Polyspace ユーザー インターフェイスでビルド コマンドからプロジェクトを作成すると、
libcurl.so.4: version 'CURL_OPENSSL_3' not found
などのエラーが発生する場合があります。このような場合、システム コマンド ライン インターフェイスでコマンドpolyspace-configure
を使用し、ビルド コマンドを引数として使用して Polyspace プロジェクトを作成します。polyspace-configure
を参照してください。
メモ
環境変数は Polyspace がビルド コマンドをトレースするときに保存されます。