初めて投稿させて頂きます。
・開発環境:CS+ for CC V8.03.00(YellowIDEからの移行)
現在、H8/3694用に組んだものをCS+にてRX130用プロジェクトに移行し、動作させたいと考えています。
互換性が無い移行のようで、手動で対応できるエラーについてはあらかた対応し終わったのですが、
下記のようなコンパイラ部分?に未定義エラーなどが無数に発生しており、難儀しております。
未定義であるという意味自体は分かるのですが、開発環境のインクルードファイルに発生している原因と対処が分からず、
対応方法などご教示願えれば幸いです。
(E) E0520020 C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RX\V3.02.00\include\ios(28):E0520020:Identifier "class" is undefined ios 28 Test.mtpj
(E) E0520020 C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RX\V3.02.00\include\ios(64):E0520020:Identifier "iostate" is undefined ios 64 Test.mtpj
(E) E0520020 C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RX\V3.02.00\include\ios(82):E0520020:Identifier "fmtflags" is undefined ios 82 Test.mtpj
等
Thermidorさん、こんにちは。NoMaYと申します。それらのエラーはC++用ヘッダファイルをCファイルでインクルードしてしまった為に発生しているように思われます。(CC-RXのiosはC++用ヘッダファイルです。)(1) iosをインクルードしているファイルはCファイルでしょうか?C++ファイルでしょうか?(インクルードファイルのインクルード関係が巡りめぐって、Cファイルでiosがインクルードされているのではないかと予想したのですが、どうでしょうか?)(2) インクルードしているファイルがCファイルだった場合、YellowIDE&Yellow C(?)の場合でも、同様にCファイルからC++ヘッダファイルのiosがインクルードされていたでしょうか?(3) 上記の(2)は、元々はそうではないだろうな、と思うのですが、今回、そうなってしまった原因として、条件コンパイルの条件を合わせ込みきれずにインクルードされてしまったのではないかと思うのです。上記の(2)がそうではなかったのであれば、この点を見直してみてはどうでしょうか?(4) もし、もともとの環境で、CファイルからC++ヘッダファイルである筈のiosがインクルードされていたのであれば、もともとの環境でのiosの内容はどのようなものでしたでしょうか?ひょっとして中身が空のファイルだったりとかしないでしょうか?