Я использую Netbeans IDE 7.2 с C / C ++ плагин (последняя версия 1.18.1.1) и
если я строю свой проект, то все в порядке, но в среде IDE появляются ошибки (например, невозможно определить идентификатор …)
У кого-нибудь еще есть эта ошибка, и как я могу ее решить?
Вот выдержка из моего ответа на другой вопрос.
Неразрешенный Идентификатор
Если источник файла .cpp выглядит так
Нажмите правой кнопкой мыши на вашем проекте.
Проверьте C/C++ Code As...
Бежать Reparse Project.
Если этого недостаточно.
Идти к Project Properties
Заполните Include
поле ввода, как описано.
Установите правильный путь включения.
Я надеюсь, что это может помочь вам.
UTF-8, С Спецификация может также вызвать проблемы.
У меня была та же самая проблема, и я пробовал множество возможных решений, но ни одно из них не сработало, пока я не выяснил источник проблемы, что было немного забавно. Я знаю, что на этот вопрос уже дан ответ, но я записываю свое решение, может быть, оно решит проблему кого-то другого, страдающего той же проблемой.
Например, я получил «Не удалось разрешить идентификатор Vector» при определении struct Vector
пока это было правильно
Я получил много ошибок, подобных этому, при объявлении / определении функций и т. Д. Кроме того, моя помощь по коду не работала из-за количества ошибок.
Я открыл .cpp
файл в Notepad ++, и увидел, что файл был закодирован в обычном UTF-8,, это означает, что файл начинается с знак порядка байтов (BOM) персонаж:
Итак, я нажал кодирование → Конвертировать в UTF-8 без спецификации:
Замечания: НЕ просто переключайтесь на «Кодировать в UTF-8 без BOM», потому что он может испортить некоторые специальные символы (например, символы, содержащие акценты и т. д.). Так перерабатывать Это.
Сохранить
Проблема устранена: в NetBeans больше не сообщается об ошибках:
Надеюсь, это сэкономит время и кому-то еще.
У меня была такая же проблема, но я узнал, что она появляется после того, как я изменил свойства-> компилятор c ++ -> строка компиляции -> дополнительные опции для -std = c ++ 11. Если изменить настройки по умолчанию, ошибка «невозможно определить идентификатор» исчезает.
У меня недавно была эта ошибка с netbeans 8.0.2 на OS X, и я не мог найти ответ, что делать.
Я решил проблему, удалив плагин C / C ++, и когда я снова открыл netbeans, мне предложили «исправить помощь кода».
После нажатия на приглашение и его запуска проблема была исправлена.
Я использую NetBeans 8.1, и та же проблема появилась, когда я начал новый проект C ++. Это решило себя после запуска проекта через отладчик.
Мы разрабатываем наш код на одном компьютере и компилируем на другом. Я получал эти отвлекающие наценки, пока не установил «Build Host» на удаленный компьютер (в контекстном меню проекта).
Я до сих пор не уверен, в чем была проблема на компьютере разработчика, так как неразрешенные идентификаторы были из стандартной библиотеки (size_t
, std::vector
и т.д.) и ответы здесь, похоже, не помогли.
Мне всегда приходится переустанавливать MPLAB X, когда это происходит. Время от времени работают другие вещи, но это всегда работает.
У меня часто возникает эта ошибка, и, как уже упоминалось, обычно я добавляю пробел, сохраняю файл, удаляю пробел … и все идентификаторы решаются.
На этот раз это не сработало. Мой проект, который я компилировал тысячу раз, и он всегда работал, внезапно потерпел крах MPLAB X IDE v3.35 (Mac OSX, но, вероятно, это не имеет значения) при наборе текста. После этого у меня есть только в одном файле и только для одной структуры, все идентификаторы не разрешены.
Структура в файле 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 все переменные из этой структуры стали неразрешенными, но проект скомпилирован и работал нормально.
После мучительного часа попыток это решило мою проблему: Стерли весь каталог кэша 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