KiaraGale / Sonic-Mania-Decomp-Extra-Slot-Amy

RDC and Chuli's Mania Decomp, but with Troopsushi's Amy as an additional character!
Other
20 stars 5 forks source link

CMake build - Borland toolchain - linker failed - need advice #8

Closed AnthraxBass closed 1 year ago

AnthraxBass commented 1 year ago

Hi, Fox,

I've tried to build Game.dll with Borland toolchain, and I get linker error. Do you know any workaround for it? Maybe adjusting some CMake flags can do the trick? ( Please do not suggest Microsoft Visual Studio - I'm strongly against it )

Fatal: Exceeded memory limit for block Extdefs in module D:\workspace\Sonic-Mania-Decomp-Extra-Slot-Amy-master\SonicMania\Game.c
bcc32c.exe: error: linker command failed with exit code 2 (use -Xdriver -v to see invocation)

** error 2 ** deleting Game.dll

** error 1 ** deleting CMakeFiles\SonicMania.dir\all

** error 1 ** deleting all

<< Short video of build failure >>

Full build log below:

D:\workspace\Sonic-Mania-Decomp-Extra-Slot-Amy-master\AmyBuild>make
MAKE Version 5.43  Copyright (c) 1987, 2019 Embarcadero Technologies, Inc.
-- Configuring done (0.0s)
-- Generating done (0.0s)
-- Build files have been written to: D:/workspace/Sonic-Mania-Decomp-Extra-Slot-Amy-master/AmyBuild
MAKE Version 5.43  Copyright (c) 1987, 2019 Embarcadero Technologies, Inc.
MAKE Version 5.43  Copyright (c) 1987, 2019 Embarcadero Technologies, Inc.
MAKE Version 5.43  Copyright (c) 1987, 2019 Embarcadero Technologies, Inc.
[ 33%] Building C object CMakeFiles/SonicMania.dir/SonicMania/Game.c.obj
Embarcadero C++ 7.20 for Win32 Copyright (c) 2012-2016 Embarcadero Technologies, Inc.
D:\workspace\Sonic-Mania-Decomp-Extra-Slot-Amy-master\SonicMania\Game.c:
[ 66%] Building C object CMakeFiles/SonicMania.dir/SonicMania/Objects/All.c.obj
Embarcadero C++ 7.20 for Win32 Copyright (c) 2012-2016 Embarcadero Technologies, Inc.
D:\workspace\Sonic-Mania-Decomp-Extra-Slot-Amy-master\SonicMania\Objects\All.c:
In file included from D:\workspace\Sonic-Mania-Decomp-Extra-Slot-Amy-master\SonicMania\Objects\All.c:190:
D:/workspace/Sonic-Mania-Decomp-Extra-Slot-Amy-master/SonicMania/Objects/Global/Player.c:3706:36: warning:
      incompatible pointer types assigning to 'void (*)(void)' from 'void (EntityPlayer *)'
      [-Wincompatible-pointer-types]
            self->nextAirState     = Player_State_TallJump;
                                   ^ ~~~~~~~~~~~~~~~~~~~~~
D:/workspace/Sonic-Mania-Decomp-Extra-Slot-Amy-master/SonicMania/Objects/Global/Player.c:3707:36: warning:
      incompatible pointer types assigning to 'void (*)(void)' from 'void (EntityPlayer *)'
      [-Wincompatible-pointer-types]
            self->state            = Player_State_TallJump;
                                   ^ ~~~~~~~~~~~~~~~~~~~~~
In file included from D:\workspace\Sonic-Mania-Decomp-Extra-Slot-Amy-master\SonicMania\Objects\All.c:505:
D:/workspace/Sonic-Mania-Decomp-Extra-Slot-Amy-master/SonicMania/Objects/SPZ/Shutterbug.c:150:28: warning:
      comparison of unsigned expression < 0 is always false [-Wtautological-compare]
        if (self->numSnaps < 0) {
            ~~~~~~~~~~~~~~ ^ ~
3 warnings generated.
[100%] Linking C shared library Game.dll
Embarcadero C++ 7.20 for Win32 Copyright (c) 2012-2016 Embarcadero Technologies, Inc.
Turbo Incremental Link 6.75 Copyright (c) 1997-2016 Embarcadero Technologies, Inc.
Warning: CODE                : 0x00000234 / 0x01000000
Warning: DATA                : 0x00000125 / 0x01000000
Warning: DEBSYM              : 0x0000000e / 0x01000000
Warning: Extdef flags        : 0x00000021 / 0x00004000
Warning: Extdefs             : 0x00000084 / 0x00004000
Warning: Import symbols      : 0x00000000 / 0x00100000
Warning: OBJ symbols         : 0x00000b2c / 0x00400000
Warning: Public GSX          : 0x00000038 / 0x000c0000
Warning: Publics             : 0x000001f8 / 0x000c0000
Warning: SegRelocs           : 0x00000668 / 0x00800000
Warning: StringBlock         : 0x0000000a / 0x01000000
Warning: Virdefs             : 0x00000004 / 0x00020000
Warning: BSS                 : 0x00000000 / 0x01000000
Warning: CODE                : 0x000642ec / 0x01000000
Warning: D:/workspace/Sonic-Mania-Decomp-Extra-Slot-Amy-master/AmyBuild/Game.ilc: 0x00010000 / 0x08000000
Warning: D:/workspace/Sonic-Mania-Decomp-Extra-Slot-Amy-master/AmyBuild/Game.ild: 0x00010000 / 0x08000000
Warning: D:/workspace/Sonic-Mania-Decomp-Extra-Slot-Amy-master/AmyBuild/Game.ilf: 0x00016000 / 0x0a000000
Warning: D:/workspace/Sonic-Mania-Decomp-Extra-Slot-Amy-master/AmyBuild/Game.ils: 0x0005f000 / 0x08000000
Warning: D:/workspace/Sonic-Mania-Decomp-Extra-Slot-Amy-master/AmyBuild/Game.tds: 0x00010000 / 0x09400000
Warning: DATA                : 0x000237c8 / 0x01000000
Warning: DEBNAM              : 0x00002044 / 0x01000000
Warning: DEBSYM              : 0x00003ba0 / 0x01000000
Warning: DEBTYP              : 0x00005744 / 0x01000000
Warning: Extdef flags        : 0x00001000 / 0x00004000
Warning: Extdefs             : 0x00004000 / 0x00004000
Warning: Import symbols      : 0x00000000 / 0x00100000
Warning: OBJ symbols         : 0x00000000 / 0x00400000
Warning: Public GSX          : 0x00000060 / 0x000c0000
Warning: Publics             : 0x00000360 / 0x000c0000
Warning: StringBlock         : 0x00000048 / 0x01000000
Warning: Virdefs             : 0x00000000 / 0x00020000
Warning: unknown heap name   : 0x08000000 / 0x08000000
Fatal: Exceeded memory limit for block Extdefs in module D:\workspace\Sonic-Mania-Decomp-Extra-Slot-Amy-master\SonicMania\Game.c
bcc32c.exe: error: linker command failed with exit code 2 (use -Xdriver -v to see invocation)

** error 2 ** deleting Game.dll

** error 1 ** deleting CMakeFiles\SonicMania.dir\all

** error 1 ** deleting all

D:\workspace\Sonic-Mania-Decomp-Extra-Slot-Amy-master\AmyBuild>
AnthraxBass commented 1 year ago

Answered in a different repository. Thank you! https://github.com/Rubberduckycooly/Sonic-Mania-Decompilation/issues/193