Есть набор исходников (из проекта AT91 USB Framework - Core 1.01), в каждый Сишный файл включено неск. хидеров, в частности, usb.h... Все хидеры имеют одну и ту же структуру:
#ifndef _(имя_файла)_H #define _(имя_файла)_H Внутри всякие объявления, и пр., в том числе: #define inline _inline . . . inline unsigned int USB_GetState(const S_usb *pUsb) { return (*(pUsb->pState) & 0x0000FFFF); } . . . #endif
По идее, такая структура не должна давать глюки при включении хидера в несколько файлов проекта. Но дает на этапе линковки:
udp.o(.text+0x3188):Core/usb.h:1378: multiple definition of `USB_GetState' enumeration_example.o(.text+0x1bf4):Core/usb.h:1378: first defined here
Уже лыжи не едут! Че ему надо???
|