Oh no! Where's the JavaScript?
Your Web browser does not have JavaScript enabled or does not support JavaScript. Please enable JavaScript on your Web browser to properly view this Web site, or upgrade to a Web browser that does support JavaScript.

SDL 2.0 for AROS

Last updated on 3 hours ago
amigamiaamigamiaAdmin
Posted 3 hours ago
Still some troubles. Tried on VM in Virtual Box and AROS One 64bit on Dell Latitude D520 with full Intel GMA drives.

Compiled with: SDL 2.32.8; SDL_mixer 2.8.1; ImGui 1.89.2 WIP HW
BL error: Could not create renderer
Couldn't find matching render driver
D
deadwoodAROS Dev
Posted 8 hours ago
I made some modifications, but mostly because it's a cross compiler. See the attached file.
You do not have access to view attachments
amigamiaamigamiaAdmin
Posted 9 hours ago
And no modifications to the Makefile?

Thank you by the way. I appreciate it. Let me know what you find on the native side. In the meantime, I'll package this with the correct files for a new game.
D
deadwoodAROS Dev
Posted 11 hours ago
I tried compiling this with a cross-compiler and I didn't get the "thread11" unresolved symbol. I'll invastigate if this is some sort of issue related to native compiler.

https://axrt.org/...x86_64.zip
D
deadwoodAROS Dev
Posted 11 hours ago
I tried compiling this with a cross-compiler and I didn't get the "thread11" unresolved symbol. I'll invastigate if this is some sort of issue related to native compiler.

https://axrt.org/...x86_64.zip
amigamiaamigamiaAdmin
Posted 14 hours ago
Same error. I have no stdc++ and no pthread anywhere. I have uploaded the zip content of the file if you want to give it a shot. Please note that the Makefile was not originally included in the zip. I created it with the help of AI. The original files use cmake for compiling.
You do not have access to view attachments
D
deadwoodAROS Dev
Posted 23 hours ago
Well the thing is that you should not need to add anything to CXXFLAGS for pthreads - it should alrady be same (same you should not need to add -lstdc++ -lpthread to LDFLAGS because g++ bring in those libraries automatically. What happens when you remove -lstdc++ -lpthread)?
amigamiaamigamiaAdmin
Posted 1 day ago
No such luck. I did remove the stdc++ from the CXXFLAGS but same error. A quick search seems to point to threads. I did have -lpthreads in the linking section but not in the CXXFLAGS. Is there a switch for threads or pthreads for CXX ?
D
deadwoodAROS Dev
Posted 2 days ago
This last missing symbol looks like a C++ reference - it seems to be something from stdc++, but you are alrady adding -lstdc++ at the very end so this should be resolved. The only idea I have it to have a clean rebuild of all source but with -std=c++11 removed from CXXFLAGS
T
terminillsMember
Posted 2 days ago

amigamia wrote:

@amigamia - moved -liconv at the end and it took care of the last 3 missing symbols but still errors. This time states missing references but does not seem to list any. Only this:

There are undefined symbols in 'bin/SpaceCadetPinball':
_ZNSt11this_thread11__sleep_forENSt6chrono8durationIlSt5ratioILx1ELx1EEEENS1_IlS2_ILx1ELx1000000000EEEE
make: *** [bin/SpaceCadetPinball] Error 1µ
P


Is there a specific order of precedence for these libraries?


Yes... Per kalamatee.


# Linker flags (SDL2-config + AROS system libs)
LDFLAGS =
-lSDL2_mixer
$(SDL2_LIBS)
-liconv
-lcharset
-lgl
-lopenurl
-lgraphics
-lintuition
-lexpansion
-lutility
-lm
amigamiaamigamiaAdmin
Posted 2 days ago
moved -liconv at the end and it took care of the last 3 missing symbols but still errors. This time states missing references but does not seem to list any. Only this:

There are undefined symbols in 'bin/SpaceCadetPinball':
_ZNSt11this_thread11__sleep_forENSt6chrono8durationIlSt5ratioILx1ELx1EEEENS1_IlS2_ILx1ELx1000000000EEEE
make: *** [bin/SpaceCadetPinball] Error 1µ
P


Is there a specific order of precedence for these libraries?
amigamiaamigamiaAdmin
Posted 2 days ago

amigamia wrote:

@amigamia - Well yes I moved $(SDL_LIBS) at the end after the -lm switch but I'll try without moving that and putting a whole new line for -lSDL2 after -lm


OK That seemed to have worked but it throws these as missing:

libiconv
libiconv_open
libiconv_close
amigamiaamigamiaAdmin
Posted 2 days ago
Well yes I moved $(SDL_LIBS) at the end after the -lm switch but I'll try without moving that and putting a whole new line for -lSDL2 after -lm
D
deadwoodAROS Dev
Posted 2 days ago
Hmm, that's weird. Did you add -lSDL2 at the end or did you move $(SDL_LIBS) to the end?

In general the issue you are having is because of order of "-l" elements in LDFLAGS and cross dependencies between them. Sometimes you can only solve those cross dependencies by adding same libraries several times into LDFLAGS at different positions (libraries are resolved in order you provided)
amigamiaamigamiaAdmin
Posted 2 days ago

deadwood wrote:

@deadwood - Try adding -lSDL2 at the end of LDFLAGS (after -lm)


With that change, it shows more missing references in the output
D
deadwoodAROS Dev
Posted 3 days ago
Try adding -lSDL2 at the end of LDFLAGS (after -lm)
S
sonountalebanJunior Member
Posted 3 days ago
Hello,
Yes, SDL2 is available, the "AI" is telling me you could try to launch the compiler using these params, maybe it works:


g++ SpaceCadetPinball/control.o SpaceCadetPinball/EmbeddedData.o SpaceCadetPinball/font_selection.o SpaceCadetPinball/fullscrn.o SpaceCadetPinball/gdrv.o SpaceCadetPinball/GroupData.o SpaceCadetPinball/high_score.o SpaceCadetPinball/loader.o SpaceCadetPinball/maths.o SpaceCadetPinball/midi.o SpaceCadetPinball/nudge.o SpaceCadetPinball/options.o SpaceCadetPinball/partman.o SpaceCadetPinball/pb.o SpaceCadetPinball/proj.o SpaceCadetPinball/render.o SpaceCadetPinball/score.o SpaceCadetPinball/Sound.o SpaceCadetPinball/SpaceCadetPinball.o SpaceCadetPinball/TBall.o SpaceCadetPinball/TBlocker.o SpaceCadetPinball/TBumper.o SpaceCadetPinball/TCircle.o SpaceCadetPinball/TCollisionComponent.o SpaceCadetPinball/TComponentGroup.o SpaceCadetPinball/TDemo.o SpaceCadetPinball/TDrain.o SpaceCadetPinball/TEdgeManager.o SpaceCadetPinball/TEdgeSegment.o SpaceCadetPinball/TFlagSpinner.o SpaceCadetPinball/TFlipper.o SpaceCadetPinball/TFlipperEdge.o SpaceCadetPinball/TGate.o SpaceCadetPinball/THole.o SpaceCadetPinball/timer.o SpaceCadetPinball/TKickback.o SpaceCadetPinball/TKickout.o SpaceCadetPinball/TLight.o SpaceCadetPinball/TLightBargraph.o SpaceCadetPinball/TLightGroup.o SpaceCadetPinball/TLightRollover.o SpaceCadetPinball/TLine.o SpaceCadetPinball/TOneway.o SpaceCadetPinball/TPinballComponent.o SpaceCadetPinball/TPinballTable.o SpaceCadetPinball/TPlunger.o SpaceCadetPinball/TPopupTarget.o SpaceCadetPinball/TRamp.o SpaceCadetPinball/translations.o SpaceCadetPinball/TRollover.o SpaceCadetPinball/TSink.o SpaceCadetPinball/TSoloTarget.o SpaceCadetPinball/TSound.o SpaceCadetPinball/TTableLayer.o SpaceCadetPinball/TTextBox.o SpaceCadetPinball/TTextBoxMessage.o SpaceCadetPinball/TTimer.o SpaceCadetPinball/TTripwire.o SpaceCadetPinball/TWall.o SpaceCadetPinball/winmain.o SpaceCadetPinball/zdrv.o SpaceCadetPinball/imgui.o SpaceCadetPinball/imgui_sdl.o SpaceCadetPinball/imgui_draw.o SpaceCadetPinball/imgui_widgets.o SpaceCadetPinball/imgui_tables.o SpaceCadetPinball/imgui_demo.o SpaceCadetPinball/imgui_impl_sdl.o SpaceCadetPinball/imgui_impl_sdlrenderer.o SpaceCadetPinball/DebugOverlay.o -o bin/SpaceCadetPinball -pthread -L/Development/lib -lSDL2_mixer -lSDL2 -lgl -lgraphics -lintuition -lexpansion -lutility -lopenurl -liconv -lcharset -lm -lpthread -lauto
amigamiaamigamiaAdmin
Posted 4 days ago
Trying to compile a game on AROS I get this error on the linking portion. Are these not yet available on SDL 2.0 AROS?

There are undefined symbols in 'bin/SpaceCadetPinball':
_ZNSt11this_thread11__sleep_forENSt6chrono8durationIlSt5ratioILx1ELx1EEEENS1_IlS2_ILx1ELx1000000000EEEE
SDL_FreeWAV
SDL_iconv_string
SDL_strtokr
SDL_LoadWAV_RW
make: *** [bin/SpaceCadetPinball] Error 1o8


Makefile attached and below is the linking part of it:

mkdir -p bin
g++ SpaceCadetPinball/control.o SpaceCadetPinball/EmbeddedData.o SpaceCadetPinball/font_selection.o SpaceCadetPinball/fullscrn.o SpaceCadetPinball/gdrv.o SpaceCadetPinball/GroupData.o SpaceCadetPinball/high_score.o SpaceCadetPinball/loader.o SpaceCadetPinball/maths.o SpaceCadetPinball/midi.o SpaceCadetPinball/nudge.o SpaceCadetPinball/options.o SpaceCadetPinball/partman.o SpaceCadetPinball/pb.o SpaceCadetPinball/proj.o SpaceCadetPinball/render.o SpaceCadetPinball/score.o SpaceCadetPinball/Sound.o SpaceCadetPinball/SpaceCadetPinball.o SpaceCadetPinball/TBall.o SpaceCadetPinball/TBlocker.o SpaceCadetPinball/TBumper.o SpaceCadetPinball/TCircle.o SpaceCadetPinball/TCollisionComponent.o SpaceCadetPinball/TComponentGroup.o SpaceCadetPinball/TDemo.o SpaceCadetPinball/TDrain.o SpaceCadetPinball/TEdgeManager.o SpaceCadetPinball/TEdgeSegment.o SpaceCadetPinball/TFlagSpinner.o SpaceCadetPinball/TFlipper.o SpaceCadetPinball/TFlipperEdge.o SpaceCadetPinball/TGate.o SpaceCadetPinball/THole.o SpaceCadetPinball/timer.o Space








 CadetPinball/TKickback.o SpaceCadetPinball/TKickout.o SpaceCadetPinball/TLight.o SpaceCadetPinball/TLightBargraph.o SpaceCadetPinball/TLightGroup.o SpaceCadetPinball/TLightRollover.o SpaceCadetPinball/TLine.o SpaceCadetPinball/TOneway.o SpaceCadetPinball/TPinballComponent.o SpaceCadetPinball/TPinballTable.o SpaceCadetPinball/TPlunger.o SpaceCadetPinball/TPopupTarget.o SpaceCadetPinball/TRamp.o SpaceCadetPinball/translations.o SpaceCadetPinball/TRollover.o SpaceCadetPinball/TSink.o SpaceCadetPinball/TSoloTarget.o SpaceCadetPinball/TSound.o SpaceCadetPinball/TTableLayer.o SpaceCadetPinball/TTextBox.o SpaceCadetPinball/TTextBoxMessage.o SpaceCadetPinball/TTimer.o SpaceCadetPinball/TTripwire.o SpaceCadetPinball/TWall.o SpaceCadetPinball/winmain.o SpaceCadetPinball/zdrv.o SpaceCadetPinball/imgui.o SpaceCadetPinball/imgui_sdl.o SpaceCadetPinball/imgui_draw.o SpaceCadetPinball/imgui_widgets.o SpaceCadetPinball/imgui_tables.o SpaceCadetPinball/imgui_demo.o SpaceCadetPinball/imgui_impl_sdl.o SpaceCadetPinball/imgui_im








 pl_sdlrenderer.o SpaceCadetPinball/DebugOverlay.o -o bin/SpaceCadetPinball -L/Development/lib -lSDL2 -lSDL2_mixer -liconv -lcharset -lgl -lgraphics -lintuition -lexpansion -lutility -lopenurl -lm -lstdc++ -lpthread





# AROS toolchain
CXX = g++
CC = gcc

# SDL2-config integration
SDL2_CFLAGS := $(shell sdl2-config --cflags)
SDL2_LIBS := $(shell sdl2-config --libs)

# Compiler flags
CXXFLAGS = -std=c++11 -Wall -O2
 $(SDL2_CFLAGS)

# Linker flags (SDL2-config + AROS system libs)
LDFLAGS =
 $(SDL2_LIBS)
 -lSDL2_mixer
 -liconv
 -lcharset
 -lgl
 -lgraphics
 -lintuition
 -lexpansion
 -lutility
 -lopenurl
 -lm

# Output directory
BIN_DIR = bin
TARGET = $(BIN_DIR)/SpaceCadetPinball

# Source files
SRC =
 SpaceCadetPinball/control.cpp
 SpaceCadetPinball/EmbeddedData.cpp
 SpaceCadetPinball/font_selection.cpp
 SpaceCadetPinball/fullscrn.cpp
 SpaceCadetPinball/gdrv.cpp
 SpaceCadetPinball/GroupData.cpp
 SpaceCadetPinball/high_score.cpp
 SpaceCadetPinball/loader.cpp
 SpaceCadetPinball/maths.cpp
 SpaceCadetPinball/midi.cpp
 SpaceCadetPinball/nudge.cpp
 SpaceCadetPinball/options.cpp
 SpaceCadetPinball/partman.cpp
 SpaceCadetPinball/pb.cpp
 SpaceCadetPinball/proj.cpp
 SpaceCadetPinball/render.cpp
 SpaceCadetPinball/score.cpp
 SpaceCadetPinball/Sound.cpp
 SpaceCadetPinball/SpaceCadetPinball.cpp
 SpaceCadetPinball/TBall.cpp
 SpaceCadetPinball/TBlocker.cpp
 SpaceCadetPinball/TBumper.cpp
 SpaceCadetPinball/TCircle.cpp
 SpaceCadetPinball/TCollisionComponent.cpp
 SpaceCadetPinball/TComponentGroup.cpp
 SpaceCadetPinball/TDemo.cpp
 SpaceCadetPinball/TDrain.cpp
 SpaceCadetPinball/TEdgeManager.cpp
 SpaceCadetPinball/TEdgeSegment.cpp
 SpaceCadetPinball/TFlagSpinner.cpp
 SpaceCadetPinball/TFlipper.cpp
 SpaceCadetPinball/TFlipperEdge.cpp
 SpaceCadetPinball/TGate.cpp
 SpaceCadetPinball/THole.cpp
 SpaceCadetPinball/timer.cpp
 SpaceCadetPinball/TKickback.cpp
 SpaceCadetPinball/TKickout.cpp
 SpaceCadetPinball/TLight.cpp
 SpaceCadetPinball/TLightBargraph.cpp
 SpaceCadetPinball/TLightGroup.cpp
 SpaceCadetPinball/TLightRollover.cpp
 SpaceCadetPinball/TLine.cpp
 SpaceCadetPinball/TOneway.cpp
 SpaceCadetPinball/TPinballComponent.cpp
 SpaceCadetPinball/TPinballTable.cpp
 SpaceCadetPinball/TPlunger.cpp
 SpaceCadetPinball/TPopupTarget.cpp
 SpaceCadetPinball/TRamp.cpp
 SpaceCadetPinball/translations.cpp
 SpaceCadetPinball/TRollover.cpp
 SpaceCadetPinball/TSink.cpp
 SpaceCadetPinball/TSoloTarget.cpp
 SpaceCadetPinball/TSound.cpp
 SpaceCadetPinball/TTableLayer.cpp
 SpaceCadetPinball/TTextBox.cpp
 SpaceCadetPinball/TTextBoxMessage.cpp
 SpaceCadetPinball/TTimer.cpp
 SpaceCadetPinball/TTripwire.cpp
 SpaceCadetPinball/TWall.cpp
 SpaceCadetPinball/winmain.cpp
 SpaceCadetPinball/zdrv.cpp
 SpaceCadetPinball/imgui.cpp
 SpaceCadetPinball/imgui_sdl.cpp
 SpaceCadetPinball/imgui_draw.cpp
 SpaceCadetPinball/imgui_widgets.cpp
 SpaceCadetPinball/imgui_tables.cpp
 SpaceCadetPinball/imgui_demo.cpp
 SpaceCadetPinball/imgui_impl_sdl.cpp
 SpaceCadetPinball/imgui_impl_sdlrenderer.cpp
 SpaceCadetPinball/DebugOverlay.cpp

OBJ = $(SRC:.cpp=.o)

all: $(TARGET)

$(TARGET): $(OBJ)
   mkdir -p $(BIN_DIR)
   $(CXX) $(OBJ) -o $(TARGET) $(LDFLAGS) -lstdc++ -lpthread

%.o: %.cpp
   $(CXX) $(CXXFLAGS) -c $< -o $@

clean:
   rm -f $(OBJ) $(TARGET)

.PHONY: all clean

Edited by amigamia on 22-07-2026 19:51, 4 days ago
M
MazzeAROS Dev
Posted 12 months ago
Kalamatee released a new video.
https://www.youtu...VFV3PeQDVA
SDL2 uses the software rasterizer. That's why it looks slow ATM.
retrofaza, Argo, mmartinka
amigamiaamigamiaAdmin
Posted 12 months ago
@MiDWaN There is finally a brave one who has ventured into the SDL 2 porting for AROS and is succeding...

https://arosworld.org/infusions/forum/viewthread.php?thread_id=1443&pid=8854#post_8854
You can view all discussion threads in this forum.
You cannot start a new discussion thread in this forum.
You cannot reply in this discussion thread.
You cannot start on a poll in this forum.
You cannot upload attachments in this forum.
You cannot download attachments in this forum.
Users who participated in discussion: cavemann, amigamia, magorium, terminills, deadwood, MiDWaN, Mazze, sonountaleban