Quote from: Rhetorica on Jul 06, 2026, 09:27 PMIs it time to deprecate SDL2 (at least on Windows)? I'm not sure which branch @wmlive builds for i386.The builds for Debian (aka wmlive-trixie) are done using "libsdl3-0 (>= 3.2.0)" as included in Debian/Trixie.
FAILED: src/gui-sdl/CMakeFiles/GuiSdl.dir/sdlaudio.c.obj
C:\Base\msys64\mingw64\bin\cc.exe -DCONFDIR=\".\" -DSDL_MAIN_HANDLED -ID:/Emulation/previous-src/pre
vious-r1847-softfloat/src/includes -ID:/Emulation/previous-src/previous-r1847-softfloat/src/debug -I
D:/Emulation/previous-src/previous-r1847-softfloat/src/dsp -ID:/Emulation/previous-src/previous-r184
7-softfloat/src/softfloat -ID:/Emulation/previous-src/previous-r1847-softfloat/src/dimension -ID:/Em
ulation/previous-src/previous-r1847-softfloat/src/slirp -ID:/Emulation/previous-src/previous-r1847-s
oftfloat/build -ID:/Emulation/previous-src/previous-r1847-softfloat/src/cpu -ID:/Emulation/previous-
src/previous-r1847-softfloat/src/gui-sdl/. -ID:/Emulation/previous-src/previous-r1847-softfloat/src/
gui-sdl/../.. -ID:/Emulation/previous-src/previous-r1847-softfloat/src/gui-sdl/../debug -ID:/Emulati
on/previous-src/previous-r1847-softfloat/src/gui-sdl/../includes -isystem C:/Base/msys64/mingw64/inc
lude/SDL2 -std=gnu99 -Wcast-qual -Wbad-function-cast -Wpointer-arith -Wmissing-prototypes -Wstrict-p
rototypes -Wall -Wwrite-strings -Wsign-compare -Wformat-security -g -O0 -D__USE_MINGW_ANSI_STDIO=1 -
Wno-conversion -Wimplicit-fallthrough=0 -Wshadow=local -Wvla -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS
=64 -Wno-write-strings -O3 -DNDEBUG -MD -MT src/gui-sdl/CMakeFiles/GuiSdl.dir/sdlaudio.c.obj -MF src
\gui-sdl\CMakeFiles\GuiSdl.dir\sdlaudio.c.obj.d -o src/gui-sdl/CMakeFiles/GuiSdl.dir/sdlaudio.c.obj
-c D:/Emulation/previous-src/previous-r1847-softfloat/src/gui-sdl/sdlaudio.c
D:/Emulation/previous-src/previous-r1847-softfloat/src/gui-sdl/sdlaudio.c: In function 'Audio_Output
_Queue_Put':
D:/Emulation/previous-src/previous-r1847-softfloat/src/gui-sdl/sdlaudio.c:38:46: error: passing argu
ment 1 of 'SDL_QueueAudio' makes integer from pointer without a cast [-Wint-conversion]
38 | SDL_QueueAudio(audio_playback.device, data, len);
| ~~~~~~~~~~~~~~^~~~~~~
| |
| SDL_AudioDeviceID * {aka unsigned int *}
In file included from C:/Base/msys64/mingw64/include/SDL2/SDL.h:36,
from D:/Emulation/previous-src/previous-r1847-softfloat/src/gui-sdl/sdlaudio.h:11,
from D:/Emulation/previous-src/previous-r1847-softfloat/src/gui-sdl/sdlaudio.c:13:
C:/Base/msys64/mingw64/include/SDL2/SDL_audio.h:1229:62: note: expected 'SDL_AudioDeviceID' {aka 'un
signed int'} but argument is of type 'SDL_AudioDeviceID *' {aka 'unsigned int *'}
1229 | extern DECLSPEC int SDLCALL SDL_QueueAudio(SDL_AudioDeviceID dev, const void *data, Uint32 l
en);
| ~~~~~~~~~~~~~~~~~~^~~
D:/Emulation/previous-src/previous-r1847-softfloat/src/gui-sdl/sdlaudio.c: In function 'Audio_Output
_Queue_Size':
D:/Emulation/previous-src/previous-r1847-softfloat/src/gui-sdl/sdlaudio.c:44:65: error: passing argu
ment 1 of 'SDL_GetQueuedAudioSize' makes integer from pointer without a cast [-Wint-conversion]
44 | int size = SDL_GetQueuedAudioSize(audio_playback.device);
| ~~~~~~~~~~~~~~^~~~~~~
| |
| SDL_AudioDeviceID * {aka uns
igned int *}
C:/Base/msys64/mingw64/include/SDL2/SDL_audio.h:1311:73: note: expected 'SDL_AudioDeviceID' {aka 'un
signed int'} but argument is of type 'SDL_AudioDeviceID *' {aka 'unsigned int *'}
1311 | extern DECLSPEC Uint32 SDLCALL SDL_GetQueuedAudioSize(SDL_AudioDeviceID dev);
| ~~~~~~~~~~~~~~~~~~^~~
D:/Emulation/previous-src/previous-r1847-softfloat/src/gui-sdl/sdlaudio.c: In function 'Audio_Output
_Queue_Clear':
D:/Emulation/previous-src/previous-r1847-softfloat/src/gui-sdl/sdlaudio.c:57:52: error: passing argu
ment 1 of 'SDL_ClearQueuedAudio' makes integer from pointer without a cast [-Wint-conversion]
57 | SDL_ClearQueuedAudio(audio_playback.device);
| ~~~~~~~~~~~~~~^~~~~~~
| |
| SDL_AudioDeviceID * {aka unsigned int *}
C:/Base/msys64/mingw64/include/SDL2/SDL_audio.h:1345:69: note: expected 'SDL_AudioDeviceID' {aka 'un
signed int'} but argument is of type 'SDL_AudioDeviceID *' {aka 'unsigned int *'}
1345 | extern DECLSPEC void SDLCALL SDL_ClearQueuedAudio(SDL_AudioDeviceID dev);
| ~~~~~~~~~~~~~~~~~~^~~
D:/Emulation/previous-src/previous-r1847-softfloat/src/gui-sdl/sdlaudio.c: In function 'Audio_Data_G
et':
D:/Emulation/previous-src/previous-r1847-softfloat/src/gui-sdl/sdlaudio.c:69:61: error: passing argu
ment 1 of 'SDL_DequeueAudio' makes integer from pointer without a cast [-Wint-conversion]
69 | audio->size = SDL_DequeueAudio(audio->device, audio->data, sizeof(au
dio->data));
| ~~~~~^~~~~~~~
| |
| SDL_AudioDeviceID * {aka unsigne
d int *}
C:/Base/msys64/mingw64/include/SDL2/SDL_audio.h:1277:67: note: expected 'SDL_AudioDeviceID' {aka 'un
signed int'} but argument is of type 'SDL_AudioDeviceID *' {aka 'unsigned int *'}
1277 | extern DECLSPEC Uint32 SDLCALL SDL_DequeueAudio(SDL_AudioDeviceID dev, void *data, Uint32 le
n);
| ~~~~~~~~~~~~~~~~~~^~~
D:/Emulation/previous-src/previous-r1847-softfloat/src/gui-sdl/sdlaudio.c: In function 'Audio_Input_
Buffer_Size':
D:/Emulation/previous-src/previous-r1847-softfloat/src/gui-sdl/sdlaudio.c:89:62: error: passing argu
ment 1 of 'SDL_GetQueuedAudioSize' makes integer from pointer without a cast [-Wint-conversion]
89 | return SDL_GetQueuedAudioSize(audio_recording.device);
| ~~~~~~~~~~~~~~~^~~~~~~
| |
| SDL_AudioDeviceID * {aka unsign
ed int *}
C:/Base/msys64/mingw64/include/SDL2/SDL_audio.h:1311:73: note: expected 'SDL_AudioDeviceID' {aka 'un
signed int'} but argument is of type 'SDL_AudioDeviceID *' {aka 'unsigned int *'}
1311 | extern DECLSPEC Uint32 SDLCALL SDL_GetQueuedAudioSize(SDL_AudioDeviceID dev);
| ~~~~~~~~~~~~~~~~~~^~~
D:/Emulation/previous-src/previous-r1847-softfloat/src/gui-sdl/sdlaudio.c: In function 'Audio_Enable
':
D:/Emulation/previous-src/previous-r1847-softfloat/src/gui-sdl/sdlaudio.c:117:62: error: passing arg
ument 1 of 'SDL_GetAudioDeviceStatus' makes integer from pointer without a cast [-Wint-conversion]
117 | if (bEnable && SDL_GetAudioDeviceStatus(audio->device) == SDL_AUDIO_PAUSED)
{
| ~~~~~^~~~~~~~
| |
| SDL_AudioDeviceID * {aka unsign
ed int *}
C:/Base/msys64/mingw64/include/SDL2/SDL_audio.h:722:84: note: expected 'SDL_AudioDeviceID' {aka 'uns
igned int'} but argument is of type 'SDL_AudioDeviceID *' {aka 'unsigned int *'}
722 | extern DECLSPEC SDL_AudioStatus SDLCALL SDL_GetAudioDeviceStatus(SDL_AudioDeviceID dev);
| ~~~~~~~~~~~~~~~~~~^~~
D:/Emulation/previous-src/previous-r1847-softfloat/src/gui-sdl/sdlaudio.c:120:51: error: passing arg
ument 1 of 'SDL_PauseAudioDevice' makes integer from pointer without a cast [-Wint-conversion]
120 | SDL_PauseAudioDevice(audio->device, 0);
| ~~~~~^~~~~~~~
| |
| SDL_AudioDeviceID * {aka unsigned int *}
C:/Base/msys64/mingw64/include/SDL2/SDL_audio.h:785:69: note: expected 'SDL_AudioDeviceID' {aka 'uns
igned int'} but argument is of type 'SDL_AudioDeviceID *' {aka 'unsigned int *'}
785 | extern DECLSPEC void SDLCALL SDL_PauseAudioDevice(SDL_AudioDeviceID dev,
| ~~~~~~~~~~~~~~~~~~^~~
D:/Emulation/previous-src/previous-r1847-softfloat/src/gui-sdl/sdlaudio.c:121:70: error: passing arg
ument 1 of 'SDL_GetAudioDeviceStatus' makes integer from pointer without a cast [-Wint-conversion]
121 | } else if (!bEnable && SDL_GetAudioDeviceStatus(audio->device) == SDL_AUDIO_
PLAYING) {
| ~~~~~^~~~~~~~
| |
| SDL_AudioDeviceID * {ak
a unsigned int *}
C:/Base/msys64/mingw64/include/SDL2/SDL_audio.h:722:84: note: expected 'SDL_AudioDeviceID' {aka 'uns
igned int'} but argument is of type 'SDL_AudioDeviceID *' {aka 'unsigned int *'}
722 | extern DECLSPEC SDL_AudioStatus SDLCALL SDL_GetAudioDeviceStatus(SDL_AudioDeviceID dev);
| ~~~~~~~~~~~~~~~~~~^~~
D:/Emulation/previous-src/previous-r1847-softfloat/src/gui-sdl/sdlaudio.c:123:51: error: passing arg
ument 1 of 'SDL_PauseAudioDevice' makes integer from pointer without a cast [-Wint-conversion]
123 | SDL_PauseAudioDevice(audio->device, 1);
| ~~~~~^~~~~~~~
| |
| SDL_AudioDeviceID * {aka unsigned int *}
C:/Base/msys64/mingw64/include/SDL2/SDL_audio.h:785:69: note: expected 'SDL_AudioDeviceID' {aka 'uns
igned int'} but argument is of type 'SDL_AudioDeviceID *' {aka 'unsigned int *'}
785 | extern DECLSPEC void SDLCALL SDL_PauseAudioDevice(SDL_AudioDeviceID dev,
| ~~~~~~~~~~~~~~~~~~^~~
D:/Emulation/previous-src/previous-r1847-softfloat/src/gui-sdl/sdlaudio.c: In function 'Audio_Open':
D:/Emulation/previous-src/previous-r1847-softfloat/src/gui-sdl/sdlaudio.c:150:31: error: assignment
to 'SDL_AudioDeviceID *' {aka 'unsigned int *'} from 'SDL_AudioDeviceID' {aka 'unsigned int'} makes
pointer from integer without a cast [-Wint-conversion]
150 | audio->device = SDL_OpenAudioDevice(NULL, iscapture, &request, NULL, 0);
| ^
D:/Emulation/previous-src/previous-r1847-softfloat/src/gui-sdl/sdlaudio.c: In function 'Audio_Close'
:
D:/Emulation/previous-src/previous-r1847-softfloat/src/gui-sdl/sdlaudio.c:181:43: error: passing arg
ument 1 of 'SDL_CloseAudioDevice' makes integer from pointer without a cast [-Wint-conversion]
181 | SDL_CloseAudioDevice(audio->device);
| ~~~~~^~~~~~~~
| |
| SDL_AudioDeviceID * {aka unsigned int *}
C:/Base/msys64/mingw64/include/SDL2/SDL_audio.h:1490:69: note: expected 'SDL_AudioDeviceID' {aka 'un
signed int'} but argument is of type 'SDL_AudioDeviceID *' {aka 'unsigned int *'}
1490 | extern DECLSPEC void SDLCALL SDL_CloseAudioDevice(SDL_AudioDeviceID dev);
| ~~~~~~~~~~~~~~~~~~^~~
D:/Emulation/previous-src/previous-r1847-softfloat/src/gui-sdl/sdlaudio.c: In function 'Audio_Handle
_Disconnect':
D:/Emulation/previous-src/previous-r1847-softfloat/src/gui-sdl/sdlaudio.c:210:62: error: passing arg
ument 1 of 'SDL_GetAudioDeviceStatus' makes integer from pointer without a cast [-Wint-conversion]
210 | if (audio->freq > 0 && SDL_GetAudioDeviceStatus(audio->device) == SDL_AUDIO_STOPPED)
{
| ~~~~~^~~~~~~~
| |
| SDL_AudioDeviceID * {aka unsign
ed int *}
C:/Base/msys64/mingw64/include/SDL2/SDL_audio.h:722:84: note: expected 'SDL_AudioDeviceID' {aka 'uns
igned int'} but argument is of type 'SDL_AudioDeviceID *' {aka 'unsigned int *'}
722 | extern DECLSPEC SDL_AudioStatus SDLCALL SDL_GetAudioDeviceStatus(SDL_AudioDeviceID dev);
| ~~~~~~~~~~~~~~~~~~^~~
D:/Emulation/previous-src/previous-r1847-softfloat/src/gui-sdl/sdlaudio.c:211:43: error: passing arg
ument 1 of 'SDL_CloseAudioDevice' makes integer from pointer without a cast [-Wint-conversion]
211 | SDL_CloseAudioDevice(audio->device);
| ~~~~~^~~~~~~~
| |
| SDL_AudioDeviceID * {aka unsigned int *}
C:/Base/msys64/mingw64/include/SDL2/SDL_audio.h:1490:69: note: expected 'SDL_AudioDeviceID' {aka 'un
signed int'} but argument is of type 'SDL_AudioDeviceID *' {aka 'unsigned int *'}
1490 | extern DECLSPEC void SDLCALL SDL_CloseAudioDevice(SDL_AudioDeviceID dev);
| ~~~~~~~~~~~~~~~~~~^~~
[25/184] Building C object src/softfloat/CMakeFiles/SoftFloat.dir/softfloat.c.obj
The procedure entry point SDL_AudioStreamDevicePaused could not be located in the dynamic link library D:\Emulation\Previous_r1847-filesharing\previous.exe.
-- Build files have been written to: D:/Emulation/previous-src/previous-r1847-filesharing/build
[28/184] Building C object src/gui-sdl/CMakeFiles/GuiSdl.dir/dlgMouse.c.obj
In function 'Dialog_TabletDlg',
inlined from 'Dialog_MouseDlg' at D:/Emulation/previous-src/previous-r1847-filesharing/src/gui-s
dl/dlgMouse.c:388:5:
D:/Emulation/previous-src/previous-r1847-filesharing/src/gui-sdl/dlgMouse.c:245:28: warning: 'after'
may be used uninitialized [-Wmaybe-uninitialized]
245 | if (bTabletEnabled && (after != before)) {
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
D:/Emulation/previous-src/previous-r1847-filesharing/src/gui-sdl/dlgMouse.c: In function 'Dialog_Mou
seDlg':
D:/Emulation/previous-src/previous-r1847-filesharing/src/gui-sdl/dlgMouse.c:200:29: note: 'after' wa
s declared here
200 | TABLET_TYPE before, after;
| ^~~~~
[184/184] Linking CXX executable src\previous.exe
Quote from: andreas_g on Jul 06, 2026, 06:39 AMI am happy to release Previous v4.4!Thanks a lot, Andreas!
[...]
Have fun with the new version and please report any issues.
