Пытаюсь скомпилировать opentcp-arm7-src.zip. Возникла проблема с объявлением глобальной структуры.
Подскажите пожалуйста, а то совсем замучался. Методом тыка нашел комбинацию, которая приемлема для файла main.c, но ошибка возникает в файле tcp.c
Листинг приведен ниже. Компилятор KEIL.
---------------------------------------------------------------------------------------------
file: datatypes.h
---------------------------------------------------------------------------------------------
#ifndef INCLUDE_DATATYPES_H
#define INCLUDE_DATATYPES_H
struct localmach {
int localip;
char localHW[6];
int defgw;
int netmask;
};
typedef struct localmach localmachine_t;
#endif //INCLUDE_DATATYPES_H
---------------------------------------------------------------------------------------------
file: main.c
---------------------------------------------------------------------------------------------
#include "datatypes.h"
localmachine_t localmachine;
int main (void)
{
localmachine.localHW[0] = 0x11;
localmachine.localHW[1] = 0x22;
localmachine.localHW[2] = 0x33;
localmachine.localHW[3] = 0x44;
localmachine.localHW[4] = 0x55;
localmachine.localHW[5] = 0x66;
while (1)
{
}
}
---------------------------------------------------------------------------------------------
file: tcp.c
---------------------------------------------------------------------------------------------
#include "datatypes.h"
extern localmachine_t localmachine;
^^^^^^^^^^^^^^^^^^^^^^^^^^
........
Ошибка: "TCP.C(124): error C53: redefinition of 'localmachine': different compound types"
Это особенность Keil? Или я делаю что-то не так?