//5623.h extern DEVICE_REQUEST data ep0_cmd; //usb.h typedef struct { /* */ }DEVICE_REQUEST; //define.c DEVICE_REQUEST data ep0_cmd _at_ 0x18 = {0}; Build target 'Target 1' compiling main.c... 5623.H(4): error C129: missing ';' before 'data' compiling motor.c... 5623.H(4): error C129: missing ';' before 'data' compiling scsi.c... 5623.H(4): error C129: missing ';' before 'data' compiling usb.c... 5623.H(4): error C129: missing ';' before 'data' compiling define.c... 5623.H(4): error C129: missing ';' before 'data' Target not created
I'm guessing that this also applies. http://www.keil.com/support/docs/937.htm
DEVICE_REQUEST must be known to the compiler before the extern declaration in 5623.h, so either 5623.h must include usb.h before the declaration or main.c must include usb.h before including 5623.h.
View all questions in Keil forum