Polyspace使用時とビルド時で標準ライブラリ ヘッダーを合わせるにはどうすればよいか?
16 次查看(过去 30 天)
显示 更早的评论
現在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のバージョンを合わせれば上記の問題は解決するのでしょうか?
0 个评论
回答(1 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!