Omnimaga

Calculator Community => TI Calculators => Calculator C => Topic started by: Matrefeytontias on November 05, 2014, 07:39:39 am

Title: va_list family functions missing in latest Ndless ?
Post by: Matrefeytontias on November 05, 2014, 07:39:39 am
Here's what make tells me when building the nKaruga source (online version slightly outdated, ask for precision if needed) :

(right after a make clean)
Code: [Select]
$ make
mkdir .depends
nspire-gcc -Wall -W -marm -Os -c main.cpp -MM -MF .depends/main.cpp.d
nspire-gcc -Wall -W -marm -Os -c Homing.cpp -MM -MF .depends/Homing.cpp.d
nspire-gcc -Wall -W -marm -Os -c PowerFragment.cpp -MM -MF .depends/PowerFragment.cpp.d
nspire-gcc -Wall -W -marm -Os -c DrawingCandidate.cpp -MM -MF .depends/DrawingCandidate.cpp.d
nspire-gcc -Wall -W -marm -Os -c ChainNotif.cpp -MM -MF .depends/ChainNotif.cpp.d
nspire-gcc -Wall -W -marm -Os -c ExplosionEffect.cpp -MM -MF .depends/ExplosionEffect.cpp.d
nspire-gcc -Wall -W -marm -Os -c Player.cpp -MM -MF .depends/Player.cpp.d
nspire-gcc -Wall -W -marm -Os -c Bullet.cpp -MM -MF .depends/Bullet.cpp.d
nspire-gcc -Wall -W -marm -Os -c Laser.cpp -MM -MF .depends/Laser.cpp.d
nspire-gcc -Wall -W -marm -Os -c buildGameLUTs.cpp -MM -MF .depends/buildGameLUTs.cpp.d
nspire-gcc -Wall -W -marm -Os -c DestroyedEnemies.cpp -MM -MF .depends/DestroyedEnemies.cpp.d
nspire-gcc -Wall -W -marm -Os -c DrawingCandidates.cpp -MM -MF .depends/DrawingCandidates.cpp.d
nspire-gcc -Wall -W -marm -Os -c BulletArray.cpp -MM -MF .depends/BulletArray.cpp.d
nspire-gcc -Wall -W -marm -Os -c EnemiesArray.cpp -MM -MF .depends/EnemiesArray.cpp.d
nspire-gcc -Wall -W -marm -Os -c BossEnemy.cpp -MM -MF .depends/BossEnemy.cpp.d
nspire-gcc -Wall -W -marm -Os -c Particles.cpp -MM -MF .depends/Particles.cpp.d
nspire-gcc -Wall -W -marm -Os -c Enemy.cpp -MM -MF .depends/Enemy.cpp.d
nspire-gcc -Wall -W -marm -Os -c utils.cpp -MM -MF .depends/utils.cpp.d
nspire-gcc -Wall -W -marm -Os -c ExplosionAnim.cpp -MM -MF .depends/ExplosionAnim.cpp.d
nspire-gcc -Wall -W -marm -Os -c n2DLib.c -MM -MF .depends/n2DLib.c.d
nspire-gcc -Wall -W -marm -Os -c n2DLib.c
n2DLib.c: In function ‘drawPolygon’:
n2DLib.c:492:2: erreur: unknown type name ‘va_list’
  va_list ap;
  ^
n2DLib.c:495:2: attention : implicit declaration of function ‘va_start’ [-Wimplicit-function-declaration]
  va_start(ap, nombreDePoints);
  ^
n2DLib.c:499:3: attention : implicit declaration of function ‘va_arg’ [-Wimplicit-function-declaration]
   cur_arg = va_arg(ap, int);
   ^
n2DLib.c:499:24: erreur: expected expression before ‘int’
   cur_arg = va_arg(ap, int);
                        ^
n2DLib.c:508:2: attention : implicit declaration of function ‘va_end’ [-Wimplicit-function-declaration]
  va_end(ap);
  ^
n2DLib.c: In function ‘drawStringF’:
n2DLib.c:661:2: erreur: unknown type name ‘va_list’
  va_list specialArgs;
  ^
n2DLib.c:666:2: erreur: incompatible type for argument 3 of ‘vsprintf’
  vsprintf(str, s, specialArgs);
  ^
In file included from /cygdrive/c/Users/Mattias/Documents/GitHub/Ndless/ndless-sdk/toolchain/install/arm-none-eabi/sys-include/stdint.h:12:0,
                 from /cygdrive/c/Users/Mattias/Documents/GitHub/Ndless/ndless-sdk/toolchain/install/lib/gcc/arm-none-eabi/4.9.1/include/stdint.h:9,
                 from /cygdrive/c/Users/Mattias/Documents/GitHub/Ndless/ndless-sdk/bin/../include/libndls.h:36,
                 from n2DLib.h:4,
                 from n2DLib.c:1:
/cygdrive/c/Users/Mattias/Documents/GitHub/Ndless/ndless-sdk/toolchain/install/arm-none-eabi/sys-include/stdio.h:189:5: note: expected ‘__gnuc_va_list’ but argument is of type ‘int’
 int _EXFUN(vsprintf, (char *, const char *, __VALIST)
     ^
Makefile:52: recipe for target 'n2DLib.o' failed
make: *** [n2DLib.o] Error 1
I only include <libndls.h> in n2DLib.h . Is it that libndls.h doesn't include stdarg.h ?

EDIT : yeah. Can someone delete this thread ?
Title: Re: va_list family functions missing in latest Ndless ?
Post by: DJ Omnimaga on November 05, 2014, 08:35:52 pm
EDIT : yeah. Can someone delete this thread ?

Did you get this fixed and what was the issue if you did? (in case this can be useful to other people)
Title: Re: va_list family functions missing in latest Ndless ?
Post by: Matrefeytontias on November 05, 2014, 08:46:10 pm
I asked ExtendeD about this, and said I had to include stdarg.h in my own files as some standards had changed. Now that I added #include <stdarg.h>, everything works fine.
Title: Re: va_list family functions missing in latest Ndless ?
Post by: Vogtinator on November 06, 2014, 02:47:20 am
Quote
I asked ExtendeD about this, and said I had to include stdarg.h in my own files as some standards had changed. Now that I added #include <stdarg.h>, everything works fine.
Yeah, it's considered bad code style to depend on other header files to include needed declarations for this reason.