1

我在我的机器上编译 pdcurses 3.4 时遇到问题。我的操作系统是 Windows XP SP3。

我的 mingw32-make 是 3.81 版。

根据自述文件,我所要做的就是发出一个 make 命令来完成它。所以我做到了。

 mingw32-make -f mingwin32.mak

这开始了制作过程,但它在两个地方的某个地方失败了。一个被忽略,另一个停止生成。

编辑:添加了整个日志,而不仅仅是错误。警告......它很大。如您所见,使用 xcopy 更改副本解决了复制问题。

gcc -c -O2 -Wall -I.. ../pdcurses/addch.c
gcc -c -O2 -Wall -I.. ../pdcurses/addchstr.c
gcc -c -O2 -Wall -I.. ../pdcurses/addstr.c
gcc -c -O2 -Wall -I.. ../pdcurses/attr.c
gcc -c -O2 -Wall -I.. ../pdcurses/beep.c
gcc -c -O2 -Wall -I.. ../pdcurses/bkgd.c
gcc -c -O2 -Wall -I.. ../pdcurses/border.c
gcc -c -O2 -Wall -I.. ../pdcurses/clear.c
gcc -c -O2 -Wall -I.. ../pdcurses/color.c
gcc -c -O2 -Wall -I.. ../pdcurses/delch.c
gcc -c -O2 -Wall -I.. ../pdcurses/deleteln.c
gcc -c -O2 -Wall -I.. ../pdcurses/deprec.c
gcc -c -O2 -Wall -I.. ../pdcurses/getch.c
gcc -c -O2 -Wall -I.. ../pdcurses/getstr.c
gcc -c -O2 -Wall -I.. ../pdcurses/getyx.c
gcc -c -O2 -Wall -I.. ../pdcurses/inch.c
gcc -c -O2 -Wall -I.. ../pdcurses/inchstr.c
gcc -c -O2 -Wall -I.. ../pdcurses/initscr.c
gcc -c -O2 -Wall -I.. ../pdcurses/inopts.c
gcc -c -O2 -Wall -I.. ../pdcurses/insch.c
gcc -c -O2 -Wall -I.. ../pdcurses/insstr.c
gcc -c -O2 -Wall -I.. ../pdcurses/instr.c
gcc -c -O2 -Wall -I.. ../pdcurses/kernel.c
gcc -c -O2 -Wall -I.. ../pdcurses/keyname.c
gcc -c -O2 -Wall -I.. ../pdcurses/mouse.c
gcc -c -O2 -Wall -I.. ../pdcurses/move.c
gcc -c -O2 -Wall -I.. ../pdcurses/outopts.c
gcc -c -O2 -Wall -I.. ../pdcurses/overlay.c
gcc -c -O2 -Wall -I.. ../pdcurses/pad.c
gcc -c -O2 -Wall -I.. ../pdcurses/panel.c
gcc -c -O2 -Wall -I.. ../pdcurses/printw.c
gcc -c -O2 -Wall -I.. ../pdcurses/refresh.c
gcc -c -O2 -Wall -I.. ../pdcurses/scanw.c
gcc -c -O2 -Wall -I.. ../pdcurses/scr_dump.c
gcc -c -O2 -Wall -I.. ../pdcurses/scroll.c
gcc -c -O2 -Wall -I.. ../pdcurses/slk.c
gcc -c -O2 -Wall -I.. ../pdcurses/termattr.c
gcc -c -O2 -Wall -I.. ../pdcurses/terminfo.c
gcc -c -O2 -Wall -I.. ../pdcurses/touch.c
gcc -c -O2 -Wall -I.. ../pdcurses/util.c
gcc -c -O2 -Wall -I.. ../pdcurses/window.c
gcc -c -O2 -Wall -I.. ../pdcurses/debug.c
gcc -c -O2 -Wall -I.. ../win32/pdcclip.c
gcc -c -O2 -Wall -I.. ../win32/pdcdisp.c
gcc -c -O2 -Wall -I.. ../win32/pdcgetsc.c
gcc -c -O2 -Wall -I.. ../win32/pdckbd.c
gcc -c -O2 -Wall -I.. ../win32/pdcscrn.c
gcc -c -O2 -Wall -I.. ../win32/pdcsetsc.c
gcc -c -O2 -Wall -I.. ../win32/pdcutil.c
ar rcv pdcurses.a addch.o addchstr.o addstr.o attr.o beep.o bkgd.o border.o clea
r.o color.o delch.o deleteln.o deprec.o getch.o getstr.o getyx.o inch.o inchstr.
o initscr.o inopts.o insch.o insstr.o instr.o kernel.o keyname.o mouse.o move.o
outopts.o overlay.o pad.o panel.o printw.o refresh.o scanw.o scr_dump.o scroll.o
slk.o termattr.o terminfo.o touch.o util.o window.o debug.o pdcclip.o pdcdisp.o
pdcgetsc.o pdckbd.o pdcscrn.o pdcsetsc.o pdcutil.o
a - addch.o
a - addchstr.o
a - addstr.o
a - attr.o
a - beep.o
a - bkgd.o
a - border.o
a - clear.o
a - color.o
a - delch.o
a - deleteln.o
a - deprec.o
a - getch.o
a - getstr.o
a - getyx.o
a - inch.o
a - inchstr.o
a - initscr.o
a - inopts.o
a - insch.o
a - insstr.o
a - instr.o
a - kernel.o
a - keyname.o
a - mouse.o
a - move.o
a - outopts.o
a - overlay.o
a - pad.o
a - panel.o
a - printw.o
a - refresh.o
a - scanw.o
a - scr_dump.o
a - scroll.o
a - slk.o
a - termattr.o
a - terminfo.o
a - touch.o
a - util.o
a - window.o
a - debug.o
a - pdcclip.o
a - pdcdisp.o
a - pdcgetsc.o
a - pdckbd.o
a - pdcscrn.o
a - pdcsetsc.o
a - pdcutil.o
xcopy pdcurses.a panel.a
Does panel.a specify a file name
or directory name on the target
(F = file, D = directory)? F
C:pdcurses.a
1 File(s) copied
gcc -O2 -Wall -I.. -otestcurs.exe ../demos/testcurs.c pdcurses.a
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc08fFD9.o:testcurs.c:(.text+0x71c): undefine
d reference to `__ctype_ptr'
pdcurses.a(initscr.o):initscr.c:(.text+0xed): undefined reference to `_impure_pt
r'
pdcurses.a(initscr.o):initscr.c:(.text+0x31c): undefined reference to `_impure_p
tr'
pdcurses.a(initscr.o):initscr.c:(.text+0x352): undefined reference to `_impure_p
tr'
pdcurses.a(initscr.o):initscr.c:(.text+0x388): undefined reference to `_impure_p
tr'
pdcurses.a(initscr.o):initscr.c:(.text+0x3be): undefined reference to `_impure_p
tr'
pdcurses.a(pdcscrn.o):pdcscrn.c:(.text+0x802): more undefined references to `_im
pure_ptr' follow
collect2: ld returned 1 exit status
mingw32-make: *** [testcurs.exe] Error 1

有谁知道原因可能是什么和/或我如何修复它并编译 pdcurses?预先感谢。

-左撇子

4

1 回答 1

1

尝试在 Makefile 中用 xcopy 替换 copy。这可能会有所帮助。

另外,你可以看看这里

于 2009-07-17T06:59:26.357 回答