это не архитектура, а ее отсутствие, нужно общие определения
вынести в отдельный хедер и его уже включать Если очень Вам неймется добавьте защитный дефайн
#define FOO
typedef __packed struct {
int lastErr;
}Foo;
#ifndef FOO
#define FOO
typedef __packed struct {
int lastErr;
}Foo;
#endif
Foo foo;