GP32 minigp32 compiling...


Waxweazel

Still Fresh
Joined
Aug 9, 2003
Messages
38
While trying to port my first SDL program and getting pretty close to compilation, I stumbled on this error message :

c:\minigp32\bin\..\lib\gcc-lib\arm-agb-elf\3.2.2\..\..\..\..\arm-agb-elf\bin\ld.exe: ERROR: C:\DOCUME~1\BRAMVE~1.VER\LOCALS~1\Temp/cciiaaaa.o uses hardware FP, whereas mandel.elf uses software FP
c:\minigp32\bin\..\lib\gcc-lib\arm-agb-elf\3.2.2\..\..\..\..\arm-agb-elf\bin\ld.exe: Warning: C:\DOCUME~1\BRAMVE~1.VER\LOCALS~1\Temp/cciiaaaa.o does not support interworking, whereas mandel.elf does
No error: failed to merge target specific data of file C:\DOCUME~1\BRAMVE~1.VER\LOCALS~1\Temp/cciiaaaa.o
c:\minigp32\bin\..\lib\gcc-lib\arm-agb-elf\3.2.2\..\..\..\..\arm-agb-elf\bin\ld.exe: ERROR: C:\DOCUME~1\BRAMVE~1.VER\LOCALS~1\Temp/ccmmaaaa.o uses hardware FP, whereas mandel.elf uses software FP
c:\minigp32\bin\..\lib\gcc-lib\arm-agb-elf\3.2.2\..\..\..\..\arm-agb-elf\bin\ld.exe: Warning: C:\DOCUME~1\BRAMVE~1.VER\LOCALS~1\Temp/ccmmaaaa.o does not support interworking, whereas mandel.elf does
No error: failed to merge target specific data of file C:\DOCUME~1\BRAMVE~1.VER\LOCALS~1\Temp/ccmmaaaa.o
c:\minigp32\bin\..\lib\gcc-lib\arm-agb-elf\3.2.2\..\..\..\..\arm-agb-elf\lib\libgpos.a(gpos_core.o): In function `GpKernelInitialize':
gpos_core.o(.text+0x2b4): undefined reference to `GpMain'
collect2: ld returned 1 exit status
make: *** [mandel.elf] Error 1

anyone got any suggestions?
 
hi Waxweazel,

I'm currently trying to get the new miniGP32 working as well. I'm no expert so maybe this won't work but a good place to start would be your makefile.

Look in there and find a bit referring to soft-float (I think the argument might be -msoft-float) and delete it. There should be a similar one called -mthumb-interworking or something like that and delete it as well. You will need to delete all the stale .o files before you run make again.

You should be OK removing them. The interworking thing is for allowing you to have 16 bit and 32 bit code lumped together, which hardly anyone uses. The soft-float thing is a little bit trickier. The GP32 doesn't have a floating point unit so theoretically you should have to include the -msoft-float thingy but when I was using the old version of miniGP I didn't specify it and all my floating point code worked fine anyway.

Best of luck, let me know if it works.

Regards, Baggy

PS: There is a tutorial on the tutorials section of gp32news.com if you haven't found it already give it a try.
 
I guess another thing to bare in mind is to get in the habit avoid floats all together if you can, as emulated floats are far slower than integer, and effect your code accordingly..
 
Looks like it has a lot to do with the fact that I'm porting a program written in C++.
Tried a C code and that works fine...
Is it possible to compile C++ programs in minigp32, or am I just looking for trouble?
 
yes it is possible since it is based on devkitadv.
But i think devkitadv is limited towards C++ compiling.
i can't answer much since i code in C.
But I've heard something like that from C++ coders.
Maybe some of them can tell you much about it.

I compiled with success, with the minigp32, C++ and C sources from the exemple from the linux GCC task cross.
here the exemple :
http://www.gp32news.com/gp32news/tutorials...SDL/gcctest.zip

Just unzip the package, open a .cpp source file with scite and type F7 to compil it.
Or You can open a command window, go into the gcctest directory and type :
make

It is a simple C++ test with one class but it works.

Try to look to the makefile joined to see if you did not make an error in yours

Good luck
 
Back
Top