Eclipseにインポートし直したC++プロジェクトで発生したビルドエラーを解消する。
スポンサーリンク
以前、Eclipse 上で C++ プロジェクトを作成しましたが、新しいバージョンの Eclipse をインストールしたので、C++ プロジェクトをインポートし直したら、ビルドエラーが発生しました。
MinGW にパスを通せば解決するだろうと思いましたが、、、
rms-099.hatenablog.jp
今度は別のエラーが発生しました。
私の環境で出力された主なエラーメッセージは以下の2つです。
- symbol std could not resolved
- function sleep could not be resolved
まず1つ目のエラーは以下の手順で解決しました。
- エラーが発生しているプロジェクトを選択する。
- 右クリック→「Build Configurations」→「Clean All」
- 右クリック→「Index」→「Rebuild」
- 右クリック→「Build Configurations」→「Build All」
実は C++ に関しては限りなく初心者に近いので、本当にこの手順が正しいのか分かりません。
しかし問題は解決したので、とりあえずこれで良いやという感じです。
続く2つ目のエラーは以下のコードを追加して解決しました。
#include
#define sleep(n) Sleep(1000 * n)
それにしても、そもそも何で以前のプロジェクトではビルドエラーが発生していなかったんでしょうか?
MinGW 以外のヘッダファイルをインクルードしていたのかもしれませんが、ここ数ヶ月で開発環境が大きく変わってしまったため、今となっては原因が分かりません。
でも、とりあえずビルドが通れば良いので原因究明はひとまず放置しますが、この問題に遭遇したおかげで Java の移植性の高さを再認識しました。
参考資料:
- Eclipse C++: Symbol 'std' could not be resolved - Stack Overflow
- c++ - Eclipse CDT: Symbol 'cout' could not be resolved - Stack Overflow
- c++ - function sleep could not be resolved - Stack Overflow
- XinotesXinotes
- Nerd's Note: Eclipse: New Makefile Project with Existing Code wizardが失敗する
関連記事:
rms-099.hatenablog.jp