Главная arrow Программирование arrow ARM arrow IAR EW ARM: где-то пропустили точку с запятой ([Pe082], [Pe065]) Thursday, December 14 2017  
ГлавнаяКонтактыАдминистрированиеПрограммированиеСсылки
UK-flag-ico.png English Version
GERMAN-flag-ico.png Die deutsche Version
map.gif карта сайта
нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

Поделиться:

IAR EW ARM: где-то пропустили точку с запятой ([Pe082], [Pe065]) Версия для печати
Написал microsin   
18.02.2010

Иногда после продолжительных правок трудно найти место, где пропустили точку с запятой.

Например, компилятор выдает ошибки на синтаксис в файле kbmatrix.h, который Вы даже не исправляли:
Remark[Pe082]: storage class is not first C:\asm\testproject\include\kbmatrix.h 25
Error[Pe065]: expected a ";" C:\asm\testproject\include\kbmatrix.h 25
Error[Pe757]: variable "KeyEventCallback" is not a type name C:\asm\testproject\include\kbmatrix.h 54
Error[Pe757]: variable "KeyEventCallback" is not a type name C:\asm\testproject\include\kbmatrix.h 67
Error while running C/C++ Compiler

Для того, чтобы найти действительное место ошибки, нужно найти все включения файла kbmatrix.h - перед ним наверняка будут другие включаемые заголовки, в которых допущена ошибка. Запускаем общий поиск по всему проекту, для чего жмем Ctrl+F и в строке поиска указываем kbmatrix.h. Переключатель "Look in" должен стоять на "Project files and all include files".

missing_semicolon01.PNG

После поиска получим список файлов, которые включают директивой #include файл kbmatrix.h:
C:\asm\testproject\kbmatrix.c 4 #include "kbmatrix.h"
C:\asm\testproject\include\pins.h 3 #include "kbmatrix.h"
C:\asm\testproject\pins.c 6 #include "kbmatrix.h"
----------
Found 3 instances. Searched in 270 files.

В одном из этих найденных файлов (kbmatrix.c, pins.h, pins.c), перед #include "kbmatrix.h" включаются другие файлы, в которых допущена ошибка. Теперь место пропущенной точки с запятой найти легко. В моем примере ошибка была в исправленном файле mytypes.h. Вот содержимое файла pins.h (он был в списке найденных), где добавлялся заголовок mytypes.h с ошибкой:

#include "settings.h"
#include "mytypes.h"
#include "kbmatrix.h"
..

Просмотрев список включаемых файлов, перед #include "kbmatrix.h", я увидел файл, который исправлял - mytypes.h, в нем как раз и была ошибка (пропущена точка с запятой после определения типа структуры).

Последнее обновление ( 18.02.2010 )
 

Добавить комментарий

:D:lol::-);-)8):-|:-*:oops::sad::cry::o:-?:-x:eek::zzz:P:roll::sigh:

Защитный код
Обновить

< Пред.   След. >

Top of Page
 
microsin © 2017