web-dev-qa-db-ja.com

Netbeans 7.2は「識別子を解決できません」と表示しますが、ビルドは成功します

Netbeans IDE 7.2 with C/C++ plugin(最新バージョン1.18.1.1)を使用しており、プロジェクトをすべてビルドする場合結構ですが、IDEエラーを表示します(たとえば、識別子を解決できません...)

他の誰かがこのバグを抱えており、どうすれば解決できますか?

60
leon22

別の質問に対する私の答えからの抜粋を以下に示します。

未解決の識別子

.cppファイルのソースがこのように見える場合

enter image description here

プロジェクトをマウスの右ボタンでクリックします。
小切手 C/C++ Code As...
実行Reparse Project.

enter image description here

それが十分でない場合。
Project Properties
説明どおりにInclude入力フィールドに入力します。

enter image description here

インクルードパスを正しく設定します。

それがあなたのお役に立てば幸いです。

104
moskito-x

TL; DR

UTF-8[〜#〜] with [〜#〜]BOMも問題を引き起こす可能性があります。

問題

私はちょうど同じ問題を抱えていて、可能な解決策をたくさん試しましたが、問題の原因を発見するまで、どれもうまくいきませんでした。この質問にはすでに答えられていることは知っていますが、解決策を書き留めておきます。同じ問題に苦しんでいる他の誰かの問題を解決するかもしれません。

たとえば、struct Vectorを定義するときに"識別子Vectorを解決できません"が得られましたが、それは正しいものでした。

Unable to resolve identifier Vector

関数の宣言/定義などで、これに似た多くのエラーが発生しました。さらに、エラーの量が原因で、コード支援が機能しませんでした。

解決

  1. .cppファイルをNotepad ++で開き、ファイルが通常のUTF-8、つまりファイルが バイトオーダーマーク(BOM) 文字で始まることを意味します。

    Notepad++ - file encoded in UTF-8 WITH BOM

  2. EncodingBOMなしでUTF-8に変換する

    Notepad++: Encoding - Convert to UTF-8 without BOM

    注:単に"BOMなしのUTF-8でエンコード"に切り替えないでください。これは、特殊文字(アクセントを含む文字など)を台無しにする可能性があるためです。 convert it。

  3. セーブ

  4. 問題がなくなった:NetBeansでエラーが報告されなくなった:

    NetBeans - no errors reported anymore, problem solved

    他の人にとっても時間の節約になると思います。

9
Sk8erPeter

私は同じ問題を抱えていましたが、プロパティ-> c ++コンパイラ->コンパイル行->追加オプションを-std = c ++ 11に変更した後に表示されることを認識しました。設定をデフォルトに変更すると、「識別子を解決できません」というエラーが表示されなくなります。

9
Rafa

最近、OS X上のnetbeans 8.0.2でこのエラーが発生しましたが、何をすべきかの答えが見つかりませんでした。

C/C++プラグインをアンインストールすることで問題を解決しました。netbeansを再度開くと、「コードアシスタンスを修正する」ように促されました。

プロンプトをクリックして問題を実行させるように修正されました。

2
Ben Briggs

NetBeans 8.1を使用していますが、新しいC++プロジェクトを開始したときに同じ問題が発生しました。デバッガーを介してプロジェクトを実行した後、それ自体を解決しました。

1
nikals

この場合、MPLAB Xを再インストールする必要があります。他のことも時々機能しますが、それは常に機能します。

0
Stuart

私はしばしばこのエラーを経験し、他の人が述べたように、通常、スペース文字を追加し、ファイルを保存し、スペース文字を削除します...そしてすべての識別子が解決されます。

今回は動作しませんでした。私が何千回もコンパイルし、常に機能していた私のプロジェクトは、テキストを入力中に突然MPLAB X IDE v3.35(Mac OSX、しかしそれは重要ではない))をクラッシュさせました。私は1つのファイルにのみ、1つの構造に対してのみ、すべての識別子が未解決です。

Profile.hファイルの構造は次のとおりです。

typedef struct
{
    int state;                      ///< state machine current state
    int enabled;                    ///< machine can be ENABLED or DISABLED
    int flag;                       ///< to initiate profile execution
   ... many variables here ...
    unsigned long timestamp;        ///< variable used for local timing
} profile_struct;

私のprofile.cファイルでは、この構造の変数はすべて未解決になりましたが、プロジェクトはコンパイルされ、正常に機能しました。

イライラする1時間後に、これで私の問題が解決しました。MPLABXキャッシュディレクトリ全体を消去しました。

私の場合、次の場所にあります。

/Users/USER_NAME/Library/Caches/mplab_ide/dev/v3.35/var

( 'var'ディレクトリ全体を消去する必要があります;もちろんUSER_NAMEをユーザー名に置き換えてください)

「ライブラリ」は隠しディレクトリですが、隠しファイルの表示を有効にしたり、ターミナルから直接アクセスしたりすると、引き続きライブラリにアクセスできます。

最後に、お使いのコンピューターでは、どこか別の場所にある可能性があります。ターミナルコマンドを使用して、最後の2分間にコンピューター上でどのファイルが変更されたかを見て、私のものを見つけました。

/usr/bin/find /Users/USER_NAME/ -mmin -2 –ls
0
EmbeddedGuy

あるコンピューターでコードを開発し、別のコンピューターでコンパイルします。プロジェクトの右クリックメニューでリモートホストに「Build Host」を設定するまで、これらの気を散らすマークアップを取得していました。

未解決の識別子は標準ライブラリからのものであるため、開発用コンピューターの問題が何であるかまだわかりません(size_tstd::vector etc)そして、ここでの答えは役に立たなかったようです。

0
craq