2009-07-17 11 views
1

J'ai un problème pour compiler pdcurses 3.4 dans ma machine. Mon système d'exploitation est Windows XP SP3.Compilation de pdcurses avec mingw sous XP SP3 problème

Mon mingw32-make est la version 3.81. Selon le fichier lisez-moi, tout ce que j'avais à faire était d'aller lancer une commande make pour le faire. Et donc j'ai fait.

mingw32-make -f mingwin32.mak 

Ceci démarre le processus make mais il échoue quelque part le long du chemin à deux endroits. L'un est ignoré et l'autre arrête la marque.

EDIT: Ajout du journal entier au lieu de l'erreur. Attention ... c'est gros. Comme vous pouvez le voir, modifier la copie avec xcopy a résolu le problème de copie.

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 

Quelqu'un at-il une idée de ce que la raison peut-être et/ou comment je peux le réparer et compiler PDCURSES? Merci d'avance.

-Lefteris

+0

S'il vous plaît fournir la première page du journal. C'est intéressant de voir ce qui a précédé. – EFraim

+0

ajouté le journal entier – Lefteris

Répondre

1

Essayez de remplacer la copie avec xcopy dans le Makefile. Cela pourrait aider.

En outre, vous pouvez regarder here

+0

Merci pour le xcopy, il a travaillé avec la copie. A propos du lien que vous avez fourni, qu'est-ce que cela signifie exactement? J'ai installé cygwin, vous pensez qu'il pourrait être en train de jouer avec mingw? Aurais-je besoin de désinstaller cygwin? – Lefteris

+0

Peut-être. Le problème semble être que le mauvais io.h est inclus. – EFraim

+0

Oui, vous aviez raison! Pour vous dire la vérité, je ne sais pas ce que c'est. J'ai fait une recherche et j'ai vu que c'était dans deux autres dossiers. Chaîne d'outils AVR et toolchain blackfin. Les deux sont des chaînes d'outils de microcontrôleur pour les microprocesseurs AVR et l'autre pour la famille de processeurs Blackfin. J'avais fait quelques projets sur les deux et ils étaient tous les deux sur le chemin. Je ne sais pas exactement ce qui a dérangé io.h de mingw mais en supprimant ces deux du path, le problème a été résolu et la compilation de pdcurses s'est déroulée correctement. Le problème est que je ne suis pas sûr à 100% pourquoi c'est arrivé. – Lefteris

Questions connexes