Page 1 of 1

Hello world: linking problem

Posted: Thu Apr 15, 2010 11:09 am
by toberal
Hi, i'm newbie.
i've downloaded devkitPro. I can't make "hello world" example.
i try C:\devkitPro\examples\nds\hello_world\hello_world.pnproj
result:
----
> "make"
main.cpp
arm-eabi-g++ -MMD -MP -MF /c/devkitpro/examples/nds/hello_world/build/main.d -g -Wall -O2 -march=armv5te -mtune=arm946e-s -fomit-frame-pointer -ffast-math -mthumb -mthumb-interwork -I/c/devkitpro/examples/nds/hello_world/include -I/c/devkitpro/examples/nds/hello_world/build -I/c/devkitPro/libnds/include -I/c/devkitPro/libnds/include -I/c/devkitpro/examples/nds/hello_world/build -DARM9 -fno-rtti -fno-exceptions -c /c/devkitpro/examples/nds/hello_world/source/main.cpp -o main.o
c:/devkitpro/examples/nds/hello_world/source/main.cpp: In function 'int main()':
c:/devkitpro/examples/nds/hello_world/source/main.cpp:38: error: 'touchRead' was not declared in this scope
c:/devkitpro/examples/nds/hello_world/source/main.cpp:42: error: 'struct touchPosition' has no member named 'rawx'
c:/devkitpro/examples/nds/hello_world/source/main.cpp:43: error: 'struct touchPosition' has no member named 'rawy'
make[1]: *** [main.o] Error 1
"make": *** [build] Error 2

> Process Exit Code: 2
> Time Taken: 00:04
-----------

and i tried
C:\devkitPro\PAlibExamples\Text\Normal\HelloWorld\Template.pnproj

result:
-----
> "make"
main.c
In file included from c:/devkitPro/PAlib//include/nds/PA9.h:24,
from c:/devkitpro/palibexamples/text/normal/helloworld/source/main.c:3:
c:/devkitPro/PAlib//include/nds/arm9/PA_General.h: In function 'PA_CheckLid':
c:/devkitPro/PAlib//include/nds/arm9/PA_General.h:302: warning: 'getIPC' is static but used in inline function 'PA_CheckLid' which is not static
c:/devkitPro/PAlib//include/nds/arm9/PA_General.h:308: warning: 'getIPC' is static but used in inline function 'PA_CheckLid' which is not static
c:/devkitPro/PAlib//include/nds/arm9/PA_General.h: In function 'PA_SetScreenLight':
c:/devkitPro/PAlib//include/nds/arm9/PA_General.h:388: warning: 'getIPC' is static but used in inline function 'PA_SetScreenLight' which is not static
c:/devkitPro/PAlib//include/nds/arm9/PA_General.h:389: warning: 'getIPC' is static but used in inline function 'PA_SetScreenLight' which is not static
c:/devkitPro/PAlib//include/nds/arm9/PA_General.h: In function 'PA_SetLedBlink':
c:/devkitPro/PAlib//include/nds/arm9/PA_General.h:405: warning: 'getIPC' is static but used in inline function 'PA_SetLedBlink' which is not static
c:/devkitPro/PAlib//include/nds/arm9/PA_General.h:406: warning: 'getIPC' is static but used in inline function 'PA_SetLedBlink' which is not static
In file included from c:/devkitPro/PAlib//include/nds/PA9.h:73,
from c:/devkitpro/palibexamples/text/normal/helloworld/source/main.c:3:
c:/devkitPro/PAlib//include/nds/arm9/PA_16c.h: In function 'PA_16c8pixels':
c:/devkitPro/PAlib//include/nds/arm9/PA_16c.h:91: warning: 'PA_Plot8Pixels' is static but used in inline function 'PA_16c8pixels' which is not static
c:/devkitPro/PAlib//include/nds/arm9/PA_16c.h: In function 'PA_16c8X8Letter':
c:/devkitPro/PAlib//include/nds/arm9/PA_16c.h:105: warning: 'PA_16c8X8Color' is static but used in inline function 'PA_16c8X8Letter' which is not static
In file included from c:/devkitPro/PAlib//include/nds/PA9.h:73,
from c:/devkitpro/palibexamples/text/normal/helloworld/source/main.c:3:
c:/devkitPro/PAlib//include/nds/arm9/PA_16c.h: In function 'PA_16cLetter':
c:/devkitPro/PAlib//include/nds/arm9/PA_16c.h:507: warning: 'PA_16c16X16Letter' is static but used in inline function 'PA_16cLetter' which is not static
arm-eabi-g++ -g -mthumb-interwork -mno-fpu -L/c/devkitPro/PAlib/lib -specs=ds_arm9.specs main.o -Lc:/devkitPro/PAlib//lib -lpa9 -L/c/devkitPro/libnds/lib -lfat -lnds9 -ldswifi9 -o build.elf
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.4.3/../../../../arm-eabi/lib/ds_arm9_crt0.o: In function `CIDLoop':
(.init+0x1c0): undefined reference to `__libnds_mpu_setup'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.4.3/../../../../arm-eabi/lib/ds_arm9_crt0.o: In function `CIDLoop':
(.init+0x210): undefined reference to `initSystem'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.4.3/../../../../arm-eabi/lib/ds_arm9_crt0.o: In function `CIDLoop':
(.init+0x21c): undefined reference to `__libnds_exit'
collect2: ld returned 1 exit status
make[1]: *** [/c/devkitpro/palibexamples/text/normal/helloworld/helloworld.elf] Error 1
"make": *** [build] Error 2

> Process Exit Code: 2
> Time Taken: 00:03
-----

I tried with another nds project, but i've always build errors. :-(

i also tried wii example and i haven't any problem. compiling successful


Help me please.

Re: Hello world: linking problem

Posted: Thu Apr 15, 2010 12:03 pm
by StevenH
OK, I see the issue with your second make results:

http://wiki.devkitpro.org/index.php/PAlib

In simple terms - Uninstall devkitPro and PALib, then re-install devkitPro only and try the hello_world example only.

PALib does some weird things to the toolchain to get it to work and even the current maintainer wants the lib to die as libnds is getting better all the day....

Re: Hello world: linking problem

Posted: Thu Apr 15, 2010 1:19 pm
by toberal
Thank you, :-D

now, it's work.