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

6 ビュー (過去 30 日間)
佳樹
佳樹 2024 年 7 月 16 日
回答済み: 佳樹 2024 年 7 月 29 日
現在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のバージョンを合わせれば上記の問題は解決するのでしょうか?

回答 (1 件)

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

カテゴリ

Help Center および File Exchangeビッグ データの処理 についてさらに検索

製品


リリース

R2021a

Community Treasure Hunt

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

Start Hunting!