Polyspace使​用時とビルド時で標準​ライブラリ ヘッダーを合わせるにはどうすればよいか?

5 vues (au cours des 30 derniers jours)
佳樹
佳樹 le 16 Juil 2024
Réponse apportée : 佳樹 le 29 Juil 2024
現在Polyspace Bug Finder Server, Code Prover Serverを使用して、手書きCコードの静的解析を行っております。
環境はWindows 10でツールはMingwのgccコンパイラ、PolyspaceはR2021aです。
あるC言語のコードに対してPolyspace Bug Finderによる解析を行い、特にエラーもなく実行することができました。
その次に、Mingwを使用してビルドを行ったところ、"error: unknown type name 'timer_t'"や"poll.h: No such file or directory"というエラーメッセージが表示されました。
Polyspace使用時には起こらずなぜビルド時にエラーが起こるのか不思議に感じましたが、調べてみると以下のような相違がありました。
・Polyspaceのincludeディレクトリ(C:\Program Files\Polyspace Server\R2021a\polyspace\verifier\cxx\include)にはpoll.hファイルがあるが、Mingwのincludeディレクトリ(C:\mingw64\include)にはない。
・Polyspaceのincludeディレクトリのtime.hには"typedef __timer_t timer_t;"という記述があるが、Mingwのincludeディレクトリのtime.hにはない
上記のことから、Polyspace使用時とビルド時で標準ライブラリ ヘッダーは合わせたいのですが、そのような方法は一般的なのでしょうか?
また標準ライブラリ ヘッダーを合わせる場合、どのような方法を取ればよいのでしょうか?
(以下のページにヒントとなりそうな情報が記載されてありました。
<https://jp.mathworks.com/help/bugfinder/ug/provide-standard-library-headers-for-polyspace-analysis.html>
このページを参考にするならば、"-I"オプションを使用してMingwのincludeディレクトリであるC:\mingw64\includeを指定すればよいのでしょうか?またこの場合、time.hファイルの競合などの問題は起きないのでしょうか?)
-----------追記-----------
Polyspaceのオプションにて、-compiler gnu7.xとしている一方、Mingwのgccコンパイラはバージョンが13.2.0でした。
ここでgccのバージョンを合わせれば上記の問題は解決するのでしょうか?

Réponses (1)

佳樹
佳樹 le 29 Juil 2024
以下のページのように、polyspace-configureコマンドを使用するとよさそうです。
<https://jp.mathworks.com/help/bugfinder/ref/polyspaceconfigurecommand.html>

Catégories

En savoir plus sur ビッグ データの処理 dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!