Forums | developer.brewmp.com Forums | developer.brewmp.com

Developer

Forums

Hi, all,

I have this libary (header file, lib, and o file, I don't have the source) and I compiled using GCC. This is the error:

/cygdrive/c/gnude/bin/arm-elf-ld: ERROR: gvmod.o is compiled for EABI version 2,
whereas moon.elf is compiled for version 0
No error: failed to merge target specific data of file gvmod.o
/cygdrive/c/gnude/bin/arm-elf-ld: Warning: C:\gnude\lib\gcc-lib\arm-elf\3.3.1/li
bgcc.a(_divsi3.o) does not support interworking, whereas moon.elf does
/cygdrive/c/gnude/bin/arm-elf-ld: Warning: C:\gnude\lib\gcc-lib\arm-elf\3.3.1/li
bgcc.a(_modsi3.o) does not support interworking, whereas moon.elf does
/cygdrive/c/gnude/bin/arm-elf-ld: Warning: C:\gnude\lib\gcc-lib\arm-elf\3.3.1/li
bgcc.a(_dvmd_tls.o) does not support interworking, whereas moon.elf does

What is this EABI version? I know this libary is compiled using ADSv1.2, not GNU. How do I solve this? What is this interworking? Does that affect my build?

Since the data in gvmod.o cannot be merged into elf, it complains about unkown functions:

moon.o(.text+0x50c): In function `CGameMoon::InitMoon()':
: undefined reference to `CGvmod::InitGvmod(_IShell*, _IDisplay*, _IHeap*)'
moon.o(.text+0x54c): In function `CGameMoon::InitMoon()':
: undefined reference to `CGvmod::LoadGvmDisplay(int, int)'

What is the solution?

Thank you.