1

尽管遵循 README.md 中提供的说明,我最近一直在努力构建 pdcurses36 的源代码。无论出于何种原因,我总是遇到同样的错误,因为“目标'pdcdisp.o'的配方失败”。这是错误提示:

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

这些是我向命令提示符发出的命令:

set PDCURSES_SRCDIR = C:\...\pdcurs36

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

cd C:\...\pdcurs36\wincon

mingw32-make -f Makefile

我目前正在使用 TDM GCC 5.1.0(随代码块 17.12 的二进制构建提供的)和来自官方网站提供的存储库的 pdcurs36.zip。我的操作系统是 Windows 10。

任何帮助将不胜感激。

编辑 我的意思是代码块的 17.12 版

4

1 回答 1

0

我没有足够的代表发表评论,但你可能对这个 PDCurses对 pdcdisp.c 的提交感兴趣。

对旧编译器的警告;用数字替换 COMMON_LVB_* 以安抚一些旧的编译器。在西蒙·索比施之后。

看起来 GCC 5.1.0 只是没有定义这些宏,所以他们硬编码了这些值:

0x8000; /* COMMON_LVB_UNDERSCORE */
0x0800; /* COMMON_LVB_GRID_LVERTICAL */
0x1000; /* COMMON_LVB_GRID_RVERTICAL */
于 2018-07-03T00:27:00.893 回答