Netbeans IDE 7.2 with C/C++ plugin(最新バージョン1.18.1.1)を使用しており、プロジェクトをすべてビルドする場合結構ですが、IDEエラーを表示します(たとえば、識別子を解決できません...)
他の誰かがこのバグを抱えており、どうすれば解決できますか?
別の質問に対する私の答えからの抜粋を以下に示します。
未解決の識別子
.cppファイルのソースがこのように見える場合
プロジェクトをマウスの右ボタンでクリックします。
小切手 C/C++ Code As...
実行Reparse Project.
それが十分でない場合。Project Properties
説明どおりにInclude
入力フィールドに入力します。
インクルードパスを正しく設定します。
それがあなたのお役に立てば幸いです。
UTF-8[〜#〜] with [〜#〜]BOMも問題を引き起こす可能性があります。
私はちょうど同じ問題を抱えていて、可能な解決策をたくさん試しましたが、問題の原因を発見するまで、どれもうまくいきませんでした。この質問にはすでに答えられていることは知っていますが、解決策を書き留めておきます。同じ問題に苦しんでいる他の誰かの問題を解決するかもしれません。
たとえば、struct Vector
を定義するときに"識別子Vectorを解決できません"が得られましたが、それは正しいものでした。
関数の宣言/定義などで、これに似た多くのエラーが発生しました。さらに、エラーの量が原因で、コード支援が機能しませんでした。
.cpp
ファイルをNotepad ++で開き、ファイルが通常のUTF-8、つまりファイルが バイトオーダーマーク(BOM) 文字で始まることを意味します。
Encoding→BOMなしでUTF-8に変換する:
注:単に"BOMなしのUTF-8でエンコード"に切り替えないでください。これは、特殊文字(アクセントを含む文字など)を台無しにする可能性があるためです。 convert it。
セーブ
問題がなくなった:NetBeansでエラーが報告されなくなった:
他の人にとっても時間の節約になると思います。
私は同じ問題を抱えていましたが、プロパティ-> c ++コンパイラ->コンパイル行->追加オプションを-std = c ++ 11に変更した後に表示されることを認識しました。設定をデフォルトに変更すると、「識別子を解決できません」というエラーが表示されなくなります。
最近、OS X上のnetbeans 8.0.2でこのエラーが発生しましたが、何をすべきかの答えが見つかりませんでした。
C/C++プラグインをアンインストールすることで問題を解決しました。netbeansを再度開くと、「コードアシスタンスを修正する」ように促されました。
プロンプトをクリックして問題を実行させるように修正されました。
NetBeans 8.1を使用していますが、新しいC++プロジェクトを開始したときに同じ問題が発生しました。デバッガーを介してプロジェクトを実行した後、それ自体を解決しました。
この場合、MPLAB Xを再インストールする必要があります。他のことも時々機能しますが、それは常に機能します。
私はしばしばこのエラーを経験し、他の人が述べたように、通常、スペース文字を追加し、ファイルを保存し、スペース文字を削除します...そしてすべての識別子が解決されます。
今回は動作しませんでした。私が何千回もコンパイルし、常に機能していた私のプロジェクトは、テキストを入力中に突然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
あるコンピューターでコードを開発し、別のコンピューターでコンパイルします。プロジェクトの右クリックメニューでリモートホストに「Build Host」を設定するまで、これらの気を散らすマークアップを取得していました。
未解決の識別子は標準ライブラリからのものであるため、開発用コンピューターの問題が何であるかまだわかりません(size_t
、std::vector
etc)そして、ここでの答えは役に立たなかったようです。