c++mingwpdcurses

Error when Compiling PDCurses36 with TDM GCC 5.1.0


I have recently been struggling to build the source code for pdcurses36 despite following the instructions provided in the README.md. For whatever reason, I'm always left with the same error, as the "recipe for target 'pdcdisp.o' failed". This is the error prompt:

C:\Program Files (x86)\CodeBlocks\pdcurs36\wincon>mingw32-make -f makefile
gcc -c -O2 -Wall -I.. ../wincon/pdcdisp.c
../wincon/pdcdisp.c: In function '_new_packet':
../wincon/pdcdisp.c:211:28: error: 'COMMON_LVB_UNDERSCORE' undeclared (first use in this function)
             mapped_attr |= COMMON_LVB_UNDERSCORE;
                            ^
../wincon/pdcdisp.c:211:28: note: each undeclared identifier is reported only once for each function it appears in
../wincon/pdcdisp.c:213:28: error: 'COMMON_LVB_GRID_LVERTICAL' undeclared (first use in this function)
             mapped_attr |= COMMON_LVB_GRID_LVERTICAL;
                            ^
../wincon/pdcdisp.c:215:28: error: 'COMMON_LVB_GRID_RVERTICAL' undeclared (first use in this function)
             mapped_attr |= COMMON_LVB_GRID_RVERTICAL;
                            ^
makefile:94: recipe for target 'pdcdisp.o' failed
mingw32-make: *** [pdcdisp.o] Error 1

These are the commands I've issued to the command prompt:

set PDCURSES_SRCDIR = C:\...\pdcurs36

path = C:\...\CodeBlocks\MinGW\bin

cd C:\...\pdcurs36\wincon

mingw32-make -f Makefile

I am currently using TDM GCC 5.1.0 (what was provided with the binary build of codeblocks 17.12) and pdcurs36.zip from the repository provided from the official site. My OS is Windows 10.

Any help would be truly appreciated.

EDIT I meant version 17.12 of codeblocks


Solution

  • I don't have enough rep to comment, but you might be interested in this PDCurses commit to pdcdisp.c.

    warning on an old compiler; replaced COMMON_LVB_* with numbers to appease some old compilers. After Simon Sobisch.

    Looks like GCC 5.1.0 just doesn't define those macros, so they hardcoded the values:

    0x8000; /* COMMON_LVB_UNDERSCORE */
    0x0800; /* COMMON_LVB_GRID_LVERTICAL */
    0x1000; /* COMMON_LVB_GRID_RVERTICAL */