pyadvychuk 0 15 марта, 2012 Опубликовано 15 марта, 2012 (изменено) · Жалоба Доброго времени суток уважаемым. Поясните плз. на какие грабли я наступил в ситуации. проект на меге644па переехал с IAR5.5 на IAR 6.11.1 (месный). до переезда вроде работало все.. ну да это к делу не относится. в общем есть тривиальная функция печати на дисплей ....................... #include <stdio.h> #include <dlib/c/pgmspace.h> #include <string.h> .................................. void _put(char c,void* p) { ............................ printer_t* sc = (printer_t*)p; ............................ char_t symbol; symbol.data = c; uc1601_char(sc->drv,&sc->pts,&symbol); } void uc1601_print(printer_t* sc,const char __flash *pcFmt,...) { ................................ //! print formatted va_list ap; va_start(ap,pcFmt); _formatted_write_P(pcFmt,_put,(void*)sc,&ap); va_end(ap); } ну и xcl как то так -e_PrintfSmall=_Printf -e_small_write=_formatted_write -e_small_write_P=_formatted_write_P -e_ScanfSmall=_Scanf -e_medium_read=_formatted_read -e_medium_read_P=_formatted_read_P линкуется это все с либой dlAVR-3s-ec_mul-sf-n.r90 в результате - получаю сообщение линкера Warning[w6]: Type conflict for external/entry "_small_write_P", in module printer against external/entry in module ?_small_write_P; function types differ in parameter 4; different composite type kinds а на LCD печатаются строки формата.... подскажите плз. в чем грабли. Заранее спасибо. Изменено 15 марта, 2012 пользователем IgorKossak [code] для короткого кода Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Палыч 6 15 марта, 2012 Опубликовано 15 марта, 2012 · Жалоба в результате - получаю сообщение линкера В строке _formatted_write_P(pcFmt,_put,(void*)sc,&ap); Амперсанд при последнем параметре - лишний Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
pyadvychuk 0 15 марта, 2012 Опубликовано 15 марта, 2012 · Жалоба Амперсанд при последнем параметре - лишний как ето лишний...????? без него и компилиться не будет, и более того, не компилится. и в прототипе - последний параметр - указатель на va_list Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
pyadvychuk 0 16 марта, 2012 Опубликовано 16 марта, 2012 · Жалоба закрываем тему - нефига линковать и clib и dlib одновременно.. когда-то давно провтыкал в мейке и вписал линковку обеих либ.. и забыл закоментить. как ни странно - с более старыми версиями линкера иаровского - канало. но вот пришло, видимо, время и пришлось перелопатить мейк файл. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться