-1

I'm attempting to port Raptor Call of Shadows to the Nintendo 3DS using the Reverse engineered SDL2 PC port. However, I am running into some trouble during the linking process. I should note this is still a work in progress.

My code is hosted on github there: github.com/RetroGamer02/raptor3ds

The SDL2 lib I'm using is from github.com/xerpi/SDL-3DS.

The error log is the following:

linking raptor3ds.elf
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: C:/devkitPro/portlibs/3ds/lib\libsdl2.a(SDL_render_3ds.o): in function `N3DS_RenderPresent':
C:\Users\UserName\Documents\SDL-3DS-master/src/render/3ds/SDL_render_3ds.c:1053: undefined reference to `GPU_FinishDrawing'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: C:\Users\UserName\Documents\SDL-3DS-master/src/render/3ds/SDL_render_3ds.c:1055: undefined reference to `GPUCMD_Finalize'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: C:\Users\UserName\Documents\SDL-3DS-master/src/render/3ds/SDL_render_3ds.c:1056: undefined reference to `GPUCMD_FlushAndRun'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: C:/devkitPro/portlibs/3ds/lib\libsdl2.a(SDL_render_3ds.o): in function `N3DS_RenderFillRects':
C:\Users\UserName\Documents\SDL-3DS-master/src/render/3ds/SDL_render_3ds.c:784: undefined reference to `GPU_SetTexEnv'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: C:\Users\UserName\Documents\SDL-3DS-master/src/render/3ds/SDL_render_3ds.c:794: undefined reference to `GPU_SetAttributeBuffers'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: C:\Users\UserName\Documents\SDL-3DS-master/src/render/3ds/SDL_render_3ds.c:806: undefined reference to `GPU_DrawArray'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: C:/devkitPro/portlibs/3ds/lib\libsdl2.a(SDL_render_3ds.o): in function `N3DS_CreateRenderer':
C:\Users\UserName\Documents\SDL-3DS-master/src/render/3ds/SDL_render_3ds.c:442: undefined reference to `GPU_Init'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: C:\Users\UserName\Documents\SDL-3DS-master/src/render/3ds/SDL_render_3ds.c:444: undefined reference to `GPU_Reset'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: C:/devkitPro/portlibs/3ds/lib\libsdl2.a(SDL_render_3ds.o): in function `matrix_gpu_set_uniform':
C:\Users\UserName\Documents\SDL-3DS-master/src/render/3ds/SDL_render_3ds.c:1150: undefined reference to `GPU_SetFloatUniform'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: C:/devkitPro/portlibs/3ds/lib\libsdl2.a(SDL_render_3ds.o): in function `N3DS_CreateRenderer':
C:\Users\UserName\Documents\SDL-3DS-master/src/render/3ds/SDL_render_3ds.c:460: undefined reference to `GPU_SetViewport'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: C:\Users\UserName\Documents\SDL-3DS-master/src/render/3ds/SDL_render_3ds.c:464: undefined reference to `GPU_DepthMap'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: C:\Users\UserName\Documents\SDL-3DS-master/src/render/3ds/SDL_render_3ds.c:465: undefined reference to `GPU_SetFaceCulling'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: C:\Users\UserName\Documents\SDL-3DS-master/src/render/3ds/SDL_render_3ds.c:466: undefined reference to `GPU_SetStencilTest'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: C:\Users\UserName\Documents\SDL-3DS-master/src/render/3ds/SDL_render_3ds.c:467: undefined reference to `GPU_SetStencilOp'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: C:\Users\UserName\Documents\SDL-3DS-master/src/render/3ds/SDL_render_3ds.c:468: undefined reference to `GPU_SetBlendingColor'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: C:\Users\UserName\Documents\SDL-3DS-master/src/render/3ds/SDL_render_3ds.c:469: undefined reference to `GPU_SetDepthTestAndWriteMask'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: C:\Users\UserName\Documents\SDL-3DS-master/src/render/3ds/SDL_render_3ds.c:473: undefined reference to `GPU_SetAlphaBlending'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: C:\Users\UserName\Documents\SDL-3DS-master/src/render/3ds/SDL_render_3ds.c:480: undefined reference to `GPU_SetAlphaTest'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: C:/devkitPro/portlibs/3ds/lib\libsdl2.a(SDL_render_3ds.o): in function `GPU_SetDummyTexEnv':
C:\Users\UserName\Documents\SDL-3DS-master/src/render/3ds/SDL_render_3ds.c:199: undefined reference to `GPU_SetTexEnv'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: C:\Users\UserName\Documents\SDL-3DS-master/src/render/3ds/SDL_render_3ds.c:199: undefined reference to `GPU_SetTexEnv'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: C:\Users\UserName\Documents\SDL-3DS-master/src/render/3ds/SDL_render_3ds.c:199: undefined reference to `GPU_SetTexEnv'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: C:\Users\UserName\Documents\SDL-3DS-master/src/render/3ds/SDL_render_3ds.c:199: undefined reference to `GPU_SetTexEnv'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: C:\Users\UserName\Documents\SDL-3DS-master/src/render/3ds/SDL_render_3ds.c:199: undefined reference to `GPU_SetTexEnv'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: C:/devkitPro/portlibs/3ds/lib\libsdl2.a(SDL_render_3ds.o): in function `N3DS_CreateRenderer':
C:\Users\UserName\Documents\SDL-3DS-master/src/render/3ds/SDL_render_3ds.c:488: undefined reference to `GPUCMD_Finalize'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: C:\Users\UserName\Documents\SDL-3DS-master/src/render/3ds/SDL_render_3ds.c:489: undefined reference to `GPUCMD_FlushAndRun'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: C:/devkitPro/portlibs/3ds/lib\libsdl2.a(SDL_render_3ds.o): in function `TextureActivate':
C:\Users\UserName\Documents\SDL-3DS-master/src/render/3ds/SDL_render_3ds.c:563: undefined reference to `GPU_SetTextureEnable'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: C:\Users\UserName\Documents\SDL-3DS-master/src/render/3ds/SDL_render_3ds.c:565: undefined reference to `GPU_SetTexEnv'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: C:\Users\UserName\Documents\SDL-3DS-master/src/render/3ds/SDL_render_3ds.c:575: undefined reference to `GPU_SetTexture'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: C:/devkitPro/portlibs/3ds/lib\libsdl2.a(SDL_render_3ds.o): in function `N3DS_RenderCopy':
C:\Users\UserName\Documents\SDL-3DS-master/src/render/3ds/SDL_render_3ds.c:902: undefined reference to `GPU_SetAttributeBuffers'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: C:\Users\UserName\Documents\SDL-3DS-master/src/render/3ds/SDL_render_3ds.c:914: undefined reference to `GPU_DrawArray'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: C:/devkitPro/portlibs/3ds/lib\libsdl2.a(SDL_render_3ds.o): in function `N3DS_RenderCopyEx':
C:\Users\UserName\Documents\SDL-3DS-master/src/render/3ds/SDL_render_3ds.c:1025: undefined reference to `GPU_SetAttributeBuffers'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: C:\Users\UserName\Documents\SDL-3DS-master/src/render/3ds/SDL_render_3ds.c:1037: undefined reference to `GPU_DrawArray'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: joyapi.o: in function `GetJoyButtonMapping()':
C:/Users/UserName/Documents/raptor3ds/src/joyapi.cpp:139: undefined reference to `SDL_GameControllerTypeForIndex(int)'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: joyapi.o: in function `IPT_CalJoyRumbleLow()':
C:/Users/UserName/Documents/raptor3ds/src/joyapi.cpp:177: undefined reference to `SDL_GameControllerRumble(_SDL_GameController*, unsigned short, unsigned short, unsigned long)'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: joyapi.o: in function `IPT_CalJoyRumbleMedium()':
C:/Users/UserName/Documents/raptor3ds/src/joyapi.cpp:188: undefined reference to `SDL_GameControllerRumble(_SDL_GameController*, unsigned short, unsigned short, unsigned long)'
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld.exe: joyapi.o: in function `IPT_CalJoyRumbleHigh()':
C:/Users/UserName/Documents/raptor3ds/src/joyapi.cpp:199: undefined reference to `SDL_GameControllerRumble(_SDL_GameController*, unsigned short, unsigned short, unsigned long)'
collect2.exe: error: ld returned 1 exit status
make[1]: *** [/opt/devkitpro/devkitARM/3ds_rules:42: /home/UserName/Documents/raptor3ds/raptor3ds.elf] Error 1
make: *** [Makefile:171: all] Error 2
mikyll98
  • 1,195
  • 3
  • 8
  • 29

1 Answers1

1

Solved 3DS libSDL2 has not been updated since 2016 and required an older version of libctru and DEVKITARM from 2015.