tsherif / space-shooter.c

A cross-platform, top-down 2D space shooter written in C using only platform libraries.

Home Page:https://tsherif.github.io/space-shooter.c/site/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

windows-audio.c compilation error with VS2019, VS2022

voltagex opened this issue · comments

C:\git\space-shooter>build.bat
assets\audio\Explode1.wav
assets\audio\Hit_Hurt2.wav
assets\audio\Jump1.wav
assets\audio\Laser_002.wav
assets\audio\music.wav
assets\shaders\fs.glsl
assets\shaders\vs.glsl
assets\sprites\enemy-big.bmp
assets\sprites\enemy-medium.bmp
assets\sprites\enemy-small.bmp
assets\sprites\explosion.bmp
assets\sprites\laser-bolts.bmp
assets\sprites\pixelspritefont32.bmp
assets\sprites\ship.bmp
14 File(s) copied

C:\git\space-shooter\build>cl /std:c11 /W4 /WX /wd5105 /wd4201 /wd4100 /D SOGL_MAJOR_VERSION=3 /D SOGL_MINOR_VERSION=3 /Fespace-shooter /Zi /D SPACE_SHOOTER_DEBUG ..\src\shared\*.c ..\src\game\*.c ..\src\platform\windows\*.c user32.lib gdi32.lib opengl32.lib xinput.lib ole32.lib
Microsoft (R) C/C++ Optimizing Compiler Version 19.30.30705 for x86
Copyright (C) Microsoft Corporation.  All rights reserved.

data.c
entities.c
events.c
game.c
renderer.c
sprites.c
utils.c
windows-audio.c
..\src\platform\windows\windows-audio.c(81): error C2440: 'initializing': cannot convert from 'void (__cdecl *)(IXAudio2VoiceCallback *,UINT32)' to 'void (__stdcall *)(IXAudio2VoiceCallback *,UINT32)'
..\src\platform\windows\windows-audio.c(81): error C2440: 'initializing': cannot convert from 'void (__cdecl *)(IXAudio2VoiceCallback *)' to 'void (__stdcall *)(IXAudio2VoiceCallback *)'
..\src\platform\windows\windows-audio.c(81): error C2440: 'initializing': cannot convert from 'void (__cdecl *)(IXAudio2VoiceCallback *,void *)' to 'void (__stdcall *)(IXAudio2VoiceCallback *,void *)'
..\src\platform\windows\windows-audio.c(81): error C2440: 'initializing': cannot convert from 'void (__cdecl *)(IXAudio2VoiceCallback *,void *,HRESULT)' to 'void (__stdcall *)(IXAudio2VoiceCallback *,void *,HRESULT)'
windows.c
Generating Code...
C:\git\space-shooter>dir build


 Directory of C:\git\space-shooter\build

12/12/2021  01:41 PM    <DIR>          .
12/12/2021  01:41 PM    <DIR>          ..
12/12/2021  01:41 PM    <DIR>          assets
12/12/2021  01:41 PM             2,962 data.obj
12/12/2021  01:41 PM             8,044 entities.obj
12/12/2021  01:41 PM             7,104 events.obj
12/12/2021  01:41 PM           190,256 game.obj
12/12/2021  01:41 PM            30,857 renderer.obj
12/12/2021  01:41 PM            25,528 sprites.obj
12/12/2021  01:41 PM            12,625 utils.obj
12/12/2021  01:41 PM           118,784 vc140.pdb
12/12/2021  01:41 PM           154,138 windows.obj

Weird, fails if I use the "Developer Command Prompt", succeeds if I use the "x64 Native Tools Prompt"

This is interesting, thanks for reporting! I'll admit I did all my development with the 64-bit cl without thinking about it. I'll add a note the readme.

TIL Win32 calling conventions: 95eb2e9

It should compile in the 32-bit developer command prompt now too. Thanks for reporting this!