First post, by dosmuffin
So I managed to get DOSBox compiled using VS but got 4 warnings:
Warning 1 warning C4731: 'gen_runcode' : frame pointer register 'ebp' modified by inline assembly code f:\users\adam\my documents\visual studio 2010\projects\dosbox\0.74\dosbox-0.74\src\cpu\core_dyn_x86\risc_x86.h 111 1 dosbox
Warning 2 warning C4297: 'SDL_main' : function assumed not to throw an exception but does F:\Users\Adam\My Documents\Visual Studio 2010\Projects\DOSBox\0.74\dosbox-0.74\src\gui\sdlmain.cpp 1892 1 dosbox
Warning 3 warning C4297: 'SDL_main' : function assumed not to throw an exception but does F:\Users\Adam\My Documents\Visual Studio 2010\Projects\DOSBox\0.74\dosbox-0.74\src\gui\sdlmain.cpp 1892 1 dosbox
Warning 4 warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library F:\Users\Adam\My Documents\Visual Studio 2010\Projects\DOSBox\0.74\dosbox-0.74\visualc_net\LINK dosbox
I followed this tutorial. The only thing I did different was find and include the excluded libraries, sdl_net.lib, zlib.lib, libpng.lib and curses.lib. I managed to compile the mentioned libraries except libpng and curses. libpng would not compile the dll, but the library compiled ok. I just used a precompiled libpng.dll. As for curses, I couldn't find any curses source code that would compile under VS, so I ended up using a precompiled one. I included all the libs and include files in my project.
I tested the release, and it seemed to run my test game, Blood, alright. I didn't do any further testing.
When I compiled DOSBox with MinGW32 I wound up with an 11mb dosbox.exe that needed libgcc_s_dw2-1.dll and libstdc++-6.dll (aside from SDL.dll and SDL_net.dll) to load. That build also worked correctly. The sound crackled with the SDL.dlls I compiled but worked fine with the official release dlls. I only changed a few lines of code in one of the cpp files, so I'm not sure what the big file size is caused from. Any ideas?
Does anyone know where I can find the excluded preassembled library packages (sdl_net.lib, zlib.lib, libpng.lib and curses.lib) for VS or does anyone have them?