2009-07-17 6 views
1

Ich habe ein Problem beim Kompilieren von Pdcurses 3.4 in meinem Computer. Mein Betriebssystem ist Windows XP SP3.Kompilieren von Pdcurses mit Mingw in XP SP3 Problem

Mein mingw32-make ist Version 3.81.

Gemäß der Readme-Datei musste ich nur gehen und einen Make-Befehl ausgeben, um es zu erledigen. Und ich tat es.

mingw32-make -f mingwin32.mak 

Dies startet den Make-Prozess, aber es scheitert irgendwo auf dem Weg an zwei Stellen. Einer wird ignoriert und der andere stoppt die Marke.

EDIT: Hinzugefügt das ganze Protokoll, anstatt nur den Fehler. Warnung ... es ist groß. Wie Sie sehen können, hat das Ändern des Kopiervorgangs mit xcopy das Kopierproblem gelöst.

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 

Hat jemand eine Ahnung, was der Grund sein könnte, und/oder wie ich es beheben kann und pdcurses kompilieren? Danke im Voraus.

-Lefteris

+0

Bitte geben Sie die ehemalige Seite des Protokolls. Es ist interessant zu sehen, was voranging. – EFraim

+0

hat das ganze log – Lefteris

Antwort

1

Versuchen Kopie mit xcopy im Makefile zu ersetzen. Dies könnte helfen.

Auch können Sie sehen here

+0

hinzugefügt Danke für die xcopy, es hat mit dem Kopieren funktioniert. Über den von Ihnen angegebenen Link was genau bedeutet das? Ich habe Cygwin installiert, denkst du, dass es mit Mingw zu tun haben könnte? Müsste ich Cygwin deinstallieren? – Lefteris

+0

Könnte sein. Das Problem scheint zu sein, dass falsches io.h enthalten ist. – EFraim

+0

Ja, du hattest Recht! Um die Wahrheit zu sagen, ich weiß nicht, was io.h eigentlich ist. Ich suchte danach und sah, dass es in zwei anderen Ordnern von mir war. AVR Toolchain und Blackfin Toolchain. Beide sind Mikrocontroller Toolchains für die AVR-Mikroprozessoren und die anderen für die Blackfin-Familie von Prozessoren. Ich hatte ein paar Projekte mit beiden gemacht und sie waren beide auf dem Weg. Ich weiß nicht genau, was mit mingw's io.h verwirrt, aber das Entfernen dieser beiden aus dem Pfad behoben das Problem und die Kompilation von pdcurses passierte korrekt. Problem ist, ich bin mir nicht 100% sicher, warum es passiert ist. – Lefteris

Verwandte Themen