User Tag List

Page 6 of 6 FirstFirst ... 4 5 6
Results 51 to 58 of 58

Thread: Allegro pull requests

  1. #51
    Administrator DarkDragon's Avatar
    Join Date
    Oct 2001
    Posts
    6,228
    Mentioned
    70 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    11,025
    Level
    31
    vBActivity - Bars
    Lv. Percent
    8.16%
    That's something to ask the Allegro folks---none of our changes should have caused any difference in behavior of the keyboard driver itself.

  2. #52
    The Timelord
    QDB Manager
    ZC Developer

    Join Date
    Oct 2006
    Location
    Prydon Academy
    Posts
    1,396
    Mentioned
    112 Post(s)
    Tagged
    1 Thread(s)
    vBActivity - Stats
    Points
    4,760
    Level
    21
    vBActivity - Bars
    Lv. Percent
    68.7%
    @DarkDragon

    FYI, the aleg44.dll that you put in the AGN repo is bad. It fails to load, because it requires VCRUNTIME140.dll. You should probably be setting the CMake flag CMAKE_BUILD_TYPE as Release for this.

    I tried the process that you detailed, and I am encountering linker errors. I did each step precisely as you described. I will need to go in and try building the dependency libs manually, but I believe that our loadpng stuff is outdated. I'll look into it again after a sanity refill. Building ZC using the alleg44 file made with SHARED = true, and using the deps with SHARED = false, results in a long chain of critical linker errors.

    Did you specify any special linker flags in the CMake config when you built ag44 or its deps?

  3. #53
    Administrator DarkDragon's Avatar
    Join Date
    Oct 2001
    Posts
    6,228
    Mentioned
    70 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    11,025
    Level
    31
    vBActivity - Bars
    Lv. Percent
    8.16%
    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.

  4. #54
    The Timelord
    QDB Manager
    ZC Developer

    Join Date
    Oct 2006
    Location
    Prydon Academy
    Posts
    1,396
    Mentioned
    112 Post(s)
    Tagged
    1 Thread(s)
    vBActivity - Stats
    Points
    4,760
    Level
    21
    vBActivity - Bars
    Lv. Percent
    68.7%
    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. :/

  5. #55
    Administrator DarkDragon's Avatar
    Join Date
    Oct 2001
    Posts
    6,228
    Mentioned
    70 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    11,025
    Level
    31
    vBActivity - Bars
    Lv. Percent
    8.16%
    You get these errors when you compile Allegro yourself? Or using the Allegro .lib in the repository?

  6. #56
    Administrator DarkDragon's Avatar
    Join Date
    Oct 2001
    Posts
    6,228
    Mentioned
    70 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    11,025
    Level
    31
    vBActivity - Bars
    Lv. Percent
    8.16%
    1) Linker errors related to LIBCMT: these are due to compiling Allegro with /MD (the way they have configured their build) rather than /MT. I've pushed new versions of the libraries with the correct flags set.
    2) Linker errors related to MSVC2015's standard library: may or may not be fixed. I compiled the library using MSVC2015 so there's no reason to expect it will be possible to link to it with older versions of the compiler, but you can always try...
    3) Errors related to loadpng: yes, you need to either rename the .lib or change the name in CMakeLists, if you want to use the new implementation included in Allegro 4.4. The issue you're reporting where loading an image only works the second time sounds very strange and I wouldn't expect it to be related to .libs at all, but you'll have to provide more details.

    EDIT: I've also pushed changes to Allegro's configuration that sets the proper flags for ZC.

  7. #57
    The Time-Loop Continues ZC Developer
    Gleeok's Avatar
    Join Date
    Apr 2007
    Posts
    4,815
    Mentioned
    259 Post(s)
    Tagged
    10 Thread(s)
    vBActivity - Stats
    Points
    12,933
    Level
    33
    vBActivity - Bars
    Lv. Percent
    23.44%
    When you compile a lib the two options you want are input (or dependencies), and output; e.g. output you can specify a dll (allegro defaults to this) and link dependencies to that. MSVCRT and LIBCMT are just a few; libpng and zlib are essentially the same as well. If you want a static lib that links to dlls you can do that, and in the same way you can make a shared lib that links to static libraries.

    If you get errors that you are missing a dll like libpng, for example, it means you compiled and linked libpng as a dll. ...But don't get me started up on build systems again. :p
    This post contains the official Gleeok seal of approval. Look for these and other posts in an area near you.

  8. #58
    The Timelord
    QDB Manager
    ZC Developer

    Join Date
    Oct 2006
    Location
    Prydon Academy
    Posts
    1,396
    Mentioned
    112 Post(s)
    Tagged
    1 Thread(s)
    vBActivity - Stats
    Points
    4,760
    Level
    21
    vBActivity - Bars
    Lv. Percent
    68.7%
    Quote Originally Posted by Gleeok View Post
    When you compile a lib the two options you want are input (or dependencies), and output; e.g. output you can specify a dll (allegro defaults to this) and link dependencies to that. MSVCRT and LIBCMT are just a few; libpng and zlib are essentially the same as well. If you want a static lib that links to dlls you can do that, and in the same way you can make a shared lib that links to static libraries.

    If you get errors that you are missing a dll like libpng, for example, it means you compiled and linked libpng as a dll. ...But don't get me started up on build systems again. :p
    I figured out the issue. I thought that I was not linking properly, but this turned out to be yet another case of the packfile_password needing to be set null.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
About us
Armageddon Games is a game development group founded in 1997. We are extremely passionate about our work and our inspirations are mostly drawn from games of the 8-bit and 16-bit era.
Social