Quote Originally Posted by DarkDragon View Post
What are these errors?

alleg44 is not "bad," but it was built using MSVC2015, it makes sense you can't use it if you're running an old version of the compiler.
No, no. the alleg44.dll file in /bin/win32 , when used by ZC/ZQuest (and ROMView) binaries, requires the MSVC2015 dll. If that file was meant specificallyu for MSVC debugging, that's fine, but flagging it -debug-msvc15.dll would be prudent. As that file output is meant for general ZC/ZQ testing, and MSVC2015 is not a mandatory component to doing that, there needs to be a release dll in that path.

i.e. The dll provided for us eby the binaries cannot be used by everyone.

I'm not sure if I am using the correct headers for the PNG library. The allegro CMake file wants to point to png.h, but tht is part of lpng1212, not loadpng15. When i compile lpng1212, the first attempt to load a PNG file does nothing, and all future attempts work. When I tried to point Allegro's CMake to loadpng15's header, it spewed a list of syntactical issues.

The Linker errors when using loadpng.lib and libjpegal.lib were along these lines:

Code:
5>alleg_compat.cpp
5>init.cpp
5>Generating Code...
5>Compiling...
5>zc_custom.cpp
5>subscr.cpp
5>sprite.cpp
5>save_gif.cpp
5>qst.cpp
5>particles.cpp
5>md5.cpp
5>midi.cpp
5>gamedata.cpp
5>EditboxView.cpp
5>EditboxModel.cpp
5>editbox.cpp
5>defdata.cpp
5>colors.cpp
5>Generating Code...
5>Compiling resources...
5>MSVCRT.lib(MSVCR90.dll) : error LNK2005: _free already defined in LIBCMT.lib(free.obj)
5>MSVCRT.lib(MSVCR90.dll) : error LNK2005: _malloc already defined in LIBCMT.lib(malloc.obj)
5>MSVCRT.lib(MSVCR90.dll) : error LNK2005: _atof already defined in LIBCMT.lib(atof.obj)
5>MSVCRT.lib(MSVCR90.dll) : error LNK2005: _getenv already defined in LIBCMT.lib(getenv.obj)
5>MSVCRT.lib(MSVCR90.dll) : error LNK2005: _calloc already defined in LIBCMT.lib(calloc.obj)
5>MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) already defined in LIBCMT.lib(typinfo.obj)
5>MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) already defined in LIBCMT.lib(typinfo.obj)
5>libpng.lib(pngerror.obj) : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance
5>MSVCRT.lib(MSVCR90.dll) : error LNK2005: _free already defined in LIBCMT.lib(free.obj)
5>MSVCRT.lib(MSVCR90.dll) : error LNK2005: _malloc already defined in LIBCMT.lib(malloc.obj)
5>MSVCRT.lib(MSVCR90.dll) : error LNK2005: _atof already defined in LIBCMT.lib(atof.obj)
5>MSVCRT.lib(MSVCR90.dll) : error LNK2005: _getenv already defined in LIBCMT.lib(getenv.obj)
5>MSVCRT.lib(MSVCR90.dll) : error LNK2005: _calloc already defined in LIBCMT.lib(calloc.obj)
5>MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) already defined in LIBCMT.lib(typinfo.obj)
5>MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) already defined in LIBCMT.lib(typinfo.obj)
5>LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library
5>C:\Users\DELL\Desktop\ZC_2.54\_ZC253\ZeldaClassic\Release\zquest.exe : fatal error LNK1169: one or more multiply defined symbols found
5>Build log was saved at "file://c:\Users\DELL\Desktop\ZC_2.54\_ZC253\ZeldaClassic\zquest.dir\Release\BuildLog.htm"
5>zquest - 15 error(s), 20 warning(s)
This occurred when compiling ZC with the newly compiled static libs.

Obviously, something is awry, but i do not know what is causing this; nor what default lib the Allegro config wants--which seems to be one of the major problems here. This is the issue when the CMake config is both clearly tailored for MiGW, and primarily tested on Linux. it has no appropriate defaults set up for any of these deps.

I may just go with MiNGW, as at least that is a tried and proven method of compiling ag 44, and there is effectively no support for anything else on allegro.cc, nor any interest in supporting other compilers. At that rate, thay may as well just have included a makefile and require a specific compiler. :/