下記、標記のワーニングがビルド時に発生しています。
C5961 (I) Use of a type with no linkage to declare a variable with linkage
C5161 (W) Unrecognized #pragma
ビルドを試みているプロジェクトは過去にリリースをおこなったものですが、その際はこのようなワーニングはございませんでした。
変化点としましては、開発環境をセットアップしたパソコンが変更になった為、再度インストールしなおしております。
経験のございます方、回避方法等ご教示いただけないでしょうか。
・以前から出ていた ・プロジェクトの設定を変更した どちらの可能性も考えられます。
YYさん、こんにちは。NoMaYと申します。ルネサスさんの製品ページに以下の2種類のHEW同梱コンパイラパッケージが残っていることから気になったのですが、ここでコンパイラの挙動が大幅に変更された可能性があるのではないかという気もします。(それ故、旧バージョンと新バージョンの2種類を残さざるを得なくなったのではないだろうか、という気がするのです。) インストールし直したコンパイラのバージョンと以前に使用されていたコンパイラのバージョンが同じかどうか確認されてみてはどうでしょうか? (それで、すみません、コンパイラのドキュメントを見て、今回の違いがありそうだ、というところまで確認した訳ではないです。その可能性があるかも知れない、と気になりましたので、、、というところです、、、)R8C, M16Cファミリ用C/C++コンパイラパッケージ ダウンロードページwww.renesas.com/.../compiler-package-for-r8c-and-m16c-families.html#downloads【無償評価版】M16Cシリーズ, R8Cファミリ用C/C++コンパイラパッケージ M3T-NC30WA V.6.00 Release 00【無償評価版】M16Cシリーズ, R8Cファミリ用Cコンパイラパッケージ M3T-NC30WA V.5.45 Release 01
V.5.45 で `-WUP' を指定して #pragma pack を含むソースをコンパイルすると
C:\hoge\hoge.c(1) : [Warning(ccom)] unknown pragma PACK used
という書式で警告が出ます。
V.6.00 では
C:\piyo\piyo.c(1) : C1546 (W) unknown pragma PACK used
なので僅かに書式は異なります。
V.5.45 以前のものではどうなるかは不明です。
#pragma pack
は GCC では有効なプラグマ指令です。
また、ちょっとぐぐると HEW は R8C 等で使用できる GCC の実装である GNU M16C と組み合わせて使うことができたようです。
なので、その組み合わせで開発されたソフトであるとか、開発初期に GNU M16C を使用していた可能性は考えられます。