FC2ブログ
ビルドが通るのにタイプエラー!? ~eclipse編~

man-67335_640

 こんにちは!最近eclipseで開発を行うことが多いです。先日もeclipseでC++のプログラム開発をしていて、ヘッダファイルが足りない事に気づいてインクルードしました。そして書きかけのコードを書き始めると、必要なヘッダファイルをインクルードしたはずなのに、

「型が定義されてません。」

というような意味合いのエラーが出てきて困ってしまいました。きちんと必要なヘッダはインクルードしているし、何がいけないんだろう?プロジェクトをクリーンしてからビルドしなおしても上手くいかないし困っていました...。

解決方法

 いろいろ調べてみて、以下のページを見つけました。

Eclipse c++ Type could not be resolved error even though build is successful  ~stackoverflow~

上のページによると、このエラーはeclilpseのインデクサーによって引き起こされる問題のようです。インデクサーとはeclipseがコード補完等を行うために補完候補を自動的に追加してくれるものです。これがヘッダファイルの変更に追いついていないために起こるエラーのようです。解決方法は以下の手順です。

  1. プロジェクトを右クリックする。
  2. その中からIndex->Rebuildを選択する。この時Rebuildの進捗状況はeclipseの右下辺りに出ると思います。
  3. 続いて先ほどの手順と同様にプロジェクトを右クリックし、Index->Freshen All Files を選択する。進捗状況はeclipse右下に出ると思います。

 これできちんとコードを保存しなおしてプロジェクトをビルドしてやれば、エラーが消えました!同じ症状でお困りの方がいましたら、是非試してみてください!

スポンサーサイト



テーマ:プログラミング - ジャンル:コンピュータ

[2014/08/02 10:49] | プログラミング全般 | トラックバック(0) | コメント(2) | page top
bash スクリプト if構文エラー!

stock-photo-30703778-mistake-concepts-with-oops-message-on-keyboard こんにちは!シェルスクリプトって便利だなと思う今日このごろです。普段何気なく書いているシェルスクリプト(bash)ですが、最近bashスクリプトのif構文で気づきにくいエラーに遭遇したので、メモがてらここに書いておこうと思います。

エラーメッセージ

 件のエラーメッセージがどんなものだったかを以下に示します。


1: line 14: syntax error near unexpected token `then'

 本来なら行番号の前にプログラム名とか出ていますが、本質的ではないのでここでは省略しています。どんな風にif構文を書いていたかをいかに示します。


1: if[ 条件式 ]; then

2: 何らかの処理

3: fi

 一体このスクリプトのどこがいけないのか、エラーメッセージが示しているようにthenの近くの文は間違っていないしどうなんだろとしばらく悩んでいました。

原因

 しばらく悩んで間違いに気づきました!どこが間違っていたかというと、前章のif構文の、ifと"["の間に半角スペースがありませんでした!この2つをくっつけてしまうと、bashはifコマンドを正しく認識出来ないようです。多くのプログラミング言語ではifの後にすぐ条件式の括弧をつけるのでついついやりがちかと思います。一度ハマるとなかなか気づかないタイプのミスかと思うので、今後は気をつけようと思います!

テーマ:プログラミング - ジャンル:コンピュータ

[2014/08/01 21:40] | プログラミング全般 | トラックバック(0) | コメント(0) | page top
| ホーム |