ValleyBell / libvgm

A more modular rewrite of most components from VGMPlay. will include sub-libraries for audio output, sound emulation and VGM playback
irc://irc.digibase.ca/#vgmrips
136 stars 33 forks source link

Add GitHub CI #75

Closed OPNA2608 closed 3 years ago

OPNA2608 commented 3 years ago

Is this something you'd be interested in? I'll squash the history down into 1 commits if you want it, keeping it like this so you can follow the CI history on my fork.

CI runs here.

MinGW was a chore to figure out & set up. I tried MSVC too but that gave me linking failures with your prebuilt zlib & iconv libs[1]. Copying the 64-bit zlib libs over the 32-bit ones ends up throwing different missing symbols errors[2]. I'm not sure if/how you can force the CI machine / build system to target 32-bit so those libraries might have to be recompiled & cached on the CI machines.

[1]

MemoryLoader.obj : error LNK2019: unresolved external symbol inflate referenced in function MemoryLoader_ReadDataGZ [D:\a\libvgm\libvgm\build\utils\vgm-utils_shared.vcxproj]
MemoryLoader.obj : error LNK2019: unresolved external symbol inflateEnd referenced in function MemoryLoader_dclose [D:\a\libvgm\libvgm\build\utils\vgm-utils_shared.vcxproj]
MemoryLoader.obj : error LNK2019: unresolved external symbol inflateInit2_ referenced in function MemoryLoader_dopen [D:\a\libvgm\libvgm\build\utils\vgm-utils_shared.vcxproj]
FileLoader.obj : error LNK2019: unresolved external symbol gzread referenced in function FileLoader_ReadGZ [D:\a\libvgm\libvgm\build\utils\vgm-utils_shared.vcxproj]
FileLoader.obj : error LNK2019: unresolved external symbol gzeof referenced in function FileLoader_EofGZ [D:\a\libvgm\libvgm\build\utils\vgm-utils_shared.vcxproj]
FileLoader.obj : error LNK2019: unresolved external symbol gzclose referenced in function FileLoader_CloseGZ [D:\a\libvgm\libvgm\build\utils\vgm-utils_shared.vcxproj]
FileLoader.obj : error LNK2019: unresolved external symbol gzopen referenced in function FileLoader_dopen [D:\a\libvgm\libvgm\build\utils\vgm-utils_shared.vcxproj]
FileLoader.obj : error LNK2019: unresolved external symbol gzseek referenced in function FileLoader_SeekGZ [D:\a\libvgm\libvgm\build\utils\vgm-utils_shared.vcxproj]
FileLoader.obj : error LNK2019: unresolved external symbol gztell referenced in function FileLoader_TellGZ [D:\a\libvgm\libvgm\build\utils\vgm-utils_shared.vcxproj]
StrUtils-CPConv_IConv.obj : error LNK2019: unresolved external symbol libiconv_open referenced in function CPConv_Init [D:\a\libvgm\libvgm\build\utils\vgm-utils_shared.vcxproj]
StrUtils-CPConv_IConv.obj : error LNK2019: unresolved external symbol libiconv referenced in function CPConv_StrConvert [D:\a\libvgm\libvgm\build\utils\vgm-utils_shared.vcxproj]
StrUtils-CPConv_IConv.obj : error LNK2019: unresolved external symbol libiconv_close referenced in function CPConv_Deinit [D:\a\libvgm\libvgm\build\utils\vgm-utils_shared.vcxproj]
..\..\libs\lib\zlib.lib : warning LNK4272: library machine type 'x86' conflicts with target machine type 'x64' [D:\a\libvgm\libvgm\build\utils\vgm-utils_shared.vcxproj]
..\..\libs\iconv\lib\libiconv.lib : warning LNK4272: library machine type 'x86' conflicts with target machine type 'x64' [D:\a\libvgm\libvgm\build\utils\vgm-utils_shared.vcxproj]
D:\a\libvgm\libvgm\build\bin\Release\vgm-utils_Win64.dll : fatal error LNK1120: 12 unresolved externals [D:\a\libvgm\libvgm\build\utils\vgm-utils_shared.vcxproj]

[2]

StrUtils-CPConv_IConv.obj : error LNK2019: unresolved external symbol libiconv_open referenced in function CPConv_Init [D:\a\libvgm\libvgm\build\utils\vgm-utils_shared.vcxproj]
StrUtils-CPConv_IConv.obj : error LNK2019: unresolved external symbol libiconv referenced in function CPConv_StrConvert [D:\a\libvgm\libvgm\build\utils\vgm-utils_shared.vcxproj]
StrUtils-CPConv_IConv.obj : error LNK2019: unresolved external symbol libiconv_close referenced in function CPConv_Deinit [D:\a\libvgm\libvgm\build\utils\vgm-utils_shared.vcxproj]
zlib.lib(gzlib.obj) : error LNK2019: unresolved external symbol __imp__snprintf referenced in function gz_error [D:\a\libvgm\libvgm\build\utils\vgm-utils_shared.vcxproj]
zlib.lib(gzwrite.obj) : error LNK2019: unresolved external symbol __imp_vsnprintf referenced in function gzvprintf [D:\a\libvgm\libvgm\build\utils\vgm-utils_shared.vcxproj]
MSVCRT.lib(vsnprintf.obj) : error LNK2001: unresolved external symbol __imp_vsnprintf [D:\a\libvgm\libvgm\build\utils\vgm-utils_shared.vcxproj]
MSVCRT.lib(vsnprintf.obj) : error LNK2001: unresolved external symbol __imp__vsnprintf [D:\a\libvgm\libvgm\build\utils\vgm-utils_shared.vcxproj]
..\..\libs\iconv\lib\libiconv.lib : warning LNK4272: library machine type 'x86' conflicts with target machine type 'x64' [D:\a\libvgm\libvgm\build\utils\vgm-utils_shared.vcxproj]
D:\a\libvgm\libvgm\build\bin\Release\vgm-utils_Win64.dll : fatal error LNK1120: 6 unresolved externals [D:\a\libvgm\libvgm\build\utils\vgm-utils_shared.vcxproj]
ValleyBell commented 3 years ago

Ohhh, that's great!

Yes, I'm interested in a CI build! I just didn't have time to do it yet.

Regarding MSVC - I'll have a look at it this weekend.