Mam taki kawałek kodu:
#define F_CPU 16000000UL
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>
#include <stdio.h>
int main(void)
{
double pi=3.1415;
char cpi[8];
sprintf(cpi,"%.4f",pi);
while(1)
{
for(int i=0; i<=5; i++) print_char(cpi[i]);
}
}
Podczas kompilacji wyskakuje mi taki błąd:
||=== Build: Release in Dalmierz (compiler: GNU GCC Compiler for AVR) ===|
c:\winavr\bin\..\lib\gcc\avr\9.2.0\..\..\..\..\avr\bin\ld.exe: C:\WinAVR\avr\lib\libc.a(vfprintf_std.o)||in function `vfprintf':|
vfprintf.c:(.text.avr-libc+0xa6)||undefined reference to `__mulqi3'|
c:\winavr\bin\..\lib\gcc\avr\9.2.0\..\..\..\..\avr\bin\ld.exe: vfprintf.c:(.text.avr-libc+0xec)||undefined reference to `__mulqi3'|
||error: ld returned 1 exit status|
||=== Build failed: 3 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
Czym jest ten błąd spowodowany, jak go naprawić?