62

NetbeansIDE7.2C/C ++プラグイン(最新バージョン1.18.1.1)を使用しています。プロジェクトをビルドすると、すべて問題ありませんが、IDEにエラーが表示されます(たとえば、識別子を解決できません... )

他の誰かがこのバグを持っています、そしてどうすればそれを解決できますか?

4

12 に答える 12

108

これが私の答えからの抜粋です。

未解決の識別子

.cppファイルのソースが次のようになっている場合

ここに画像の説明を入力してください

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

ここに画像の説明を入力してください

それだけでは不十分な場合。 説明に従って、入力フィールドに入力し
ます。Project Properties
Include

ここに画像の説明を入力してください

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

それがお役に立てば幸いです。

于 2013-02-16T20:11:42.137 に答える
10

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

于 2014-04-14T21:47:45.730 に答える
9

TL; DR

UTF- 8WITHBOMも問題を引き起こす可能性があります。

問題

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

たとえば、定義時に「識別子ベクトルを解決できません」というメッセージが表示されstruct Vectorましたが、これは正しいものでした。

識別子ベクトルを解決できません

関数の宣言/定義などで、これに似たエラーがたくさん発生しました。さらに、エラーが多かったため、コードアシスタンスが機能しませんでした。

解決

  1. Notepad ++.cppでファイルを開いたところ、ファイルが通常のUTF-8でエンコードされていることがわかりました。つまり、ファイルはバイト順マーク(BOM)文字で始まります。

    Notepad++-UTF-8WITHBOMでエンコードされたファイル

  2. そこで、 [エンコード] → [ BOMなしでUTF-8に変換]をクリックしました。

    Notepad ++:エンコーディング-BOMなしでUTF-8に変換

    注:一部の特殊文字(アクセントを含む文字など)を台無しにする可能性があるため、「BOMなしでUTF-8でエンコードする」に切り替えるだけではいけません。だからそれを変換します。

  3. 保存する

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

    NetBeans-エラーは報告されなくなり、問題は解決しました

    他の人の時間を節約できることを願っています。

于 2013-09-22T12:54:08.870 に答える
3

最近、OSXのnetbeans8.0.2でこのエラーが発生しましたが、何をすべきかについての答えが見つかりませんでした。

C / C ++プラグインをアンインストールすることで問題を解決しました。netbeansを再度開くと、「コード支援を修正する」というプロンプトが表示されました。

プロンプトをクリックして実行させると、問題が修正されました。

于 2017-04-07T13:22:55.127 に答える
1

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

于 2017-05-30T23:44:49.440 に答える
0

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

size_t未解決の識別子は標準ライブラリ(などstd::vector)のものであり、ここでの回答は役に立たなかったため、開発用コンピュータの問題が何であったかはまだわかりません。

于 2014-05-13T12:26:53.540 に答える
0

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

今回は動作しませんでした。私が何千回もコンパイルした私のプロジェクトは、常に機能していましたが、テキストの入力中に突然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をユーザー名に置き換えてください)

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

最後に、あなたのコンピュータでは、それはどこかにあるかもしれません。ターミナルコマンドを使用して、過去2分間にコンピューター上でどのファイルが変更されたかを確認して、自分のファイルを見つけました。

/usr/bin/find /Users/USER_NAME/ -mmin -2 –ls
于 2016-08-05T19:33:29.790 に答える
0

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

于 2016-08-17T20:47:19.610 に答える
0

Netbeans12の「識別子を解決できない」エラーの問題を解決する3つの方法。

  1. 「プロジェクト」を右クリックします。「コードアシスタンス」を選択します。C /C++キャッシュをクリーンアップします。IDEを再起動します。
  2. [プロジェクトのプロパティ]を右クリックします--->ビルドに移動します->C/ c ++コンパイラで、すべてのC /C++プロジェクトでCとC++コンパイラの両方を同じ標準に設定します。
  3. ツール->オプション->C/ C ++->コードアシスタンスで、C ++14の場合は__cplusplus= 199711Lを:__ cplusplus = 201402Lに、C++11の場合は__cplusplus=201103Lに変更します。

自分の問題を解決しているときに、適切な/整列された中括弧が上記のエラーを引き起こす可能性があることに気付きました。中かっこがバランスが取れて整列していることを確認してください。

于 2020-10-05T15:29:47.797 に答える
0
于 2021-02-26T05:31:30.923 に答える
-2

main.cの名前をmain.cppに変更すると、私の機能は動作しました。

ファイル拡張子に基づいて、Netbeansコードアシスタンスの動作が変更されます

于 2015-05-13T09:17:36.207 に答える
-3

ファイルを右ボタンでクリックしてみてください。[プロパティ]->[一般]->[コード支援から除外(無効)]

于 2014-12-23T09:17:16.923 に答える