stdio compile err

Zdravím, mám problém s funkciou sprintf(). Pri kompilácií mi vyhadzuje nasledovnú chybu:
newmain.c:18: warning: (1464) number of arguments passed to function “_sprinf” does not match function’s prototype
:0: error: (499) undefined symbol:
_sprinf(dist/default/production\test7.production.obj)
make[2]: *** [dist/default/production/test7.production.hex] Error 1
make[1]: *** .build-conf] Error 2
make: *** .build-impl] Error 2
(908) exit status = 1

Celý kód:

#include <p18f26k20.h> 
#include "stdio.h"

void main(void) 
{
    char buf[64];

    sprinf(buf, "aa");
    
    return;
}

Zaujímavé je na tom to, že čo mám starý program s sprintf kompilovanie funguje OK a keď vytvorím nový projekt tak vyhadzuje chybu (všetky nastavenia sú také isté).

Používam:
MPLAB X IDE v4.05
XC8 (v1.41)

Budem vďačný za každú radu, už som z toho celkom zúfalý… Medzi časom som doinštaloval plib. Ale neviem či to má na to vplyv.

asi bych zkusil #include <stdio.h> treba pomuze, nemam jak testnout.

Ďakujem za radu. To som skúšal, dokonca aj s priamou cestou na na knižnicu a nič… Aj skopírovať knižnicu inde. Ono mi tú knižnicu nájde keď na ňu kliknem cez ctr tak sa mi otvorí. Ale sprintf nevie nájsť… Najzaujímavejšie je, že starý projekt mi ide skompilovať a keď som si vytvoril nový taký istý tak nič…

Mohlo by to být tím, že tam máš sprinf místo sprintf (chybí tam t)?

Človeče, ďakujem ti! Nechápem ako som si toho nemohol všimnúť a to som to dokonca prepisoval viackrát a stále na to čumel… :laughing: :laughing: :laughing:

Není zač. Hledáš chybu tam, kde není a naprosto jasnou věc přehlídneš. To se Ti stane ještě mockrát…

Jen otázka ze zvědavosti, sice C neumím, ale nepíše mu tu chybu při překladu?

newmain.c:18: warning: (1464) number of arguments passed to function "_sprinf" does not match function's prototype

Bohužel chybové hlášení říká že počet parametrů uvedených neodpovídá počtu parametrů potřebných. Lepší oznámení by bylo že funkce nebyla nalezena. Podle tohoto hlášení bych na to taky nepřišel.

“_sprinf” existuje v C? I když je asi fakt, že bych to při překladu taky přehlédl.

Mozno to bude prekladacom xc8 :smiley:

Dragonsoul: Ani ne, to hlavní je spíš vzadu - v podstatě sděluje že nenašel prototyp funkce. Normálně by to člověka mělo trknout, ale přiznám se že jsem tu na ten kód taky čuměl už druhej den a chybějícího “t” si nevšiml :smiley:

Honza3: Neexistuje, ovšem překladač to považuje za novou funkci a hlásí, že k ní nemá header file (resp. že nenašel prototyp funkce, ale ten se obvykle dává právě do *.h souboru)

S takovou to tady brzo odpískám, koho má bavit když tady jeho příspěvek visí skoro měsíc a půl jako poslední… nějak mrtvo.