Dimitri, tu dis :ça marche. Chez Maurice, ça marche. (unité crt).
Chez moi, ça ne marche que la première fois. Ce que j'ai fait: - j'ai chargé le curse23.zip (indiqué par Maurice). - j'ai supprimé le specs et le djgpp.djl - j'ai modifié le djgpp.env (indiqué par Olivier = moi) _ j'ai tapé le programme:
program efface; uses crt; begin clrscr; readln end.
Quand je compile la première fois, tout se passe bien, et le programme fonctionne. Si je compile une deuxième fois, je retrouve le messsage undefined reference to crt_clrscr. Dans mon répertoire de travail, j'ai les fichiers gpc.o gpc.gpi crt.o crt.gpi et crtc.o . le fichier crtc.o contient bien la procédure crt_clrscr (vue par nm -O crtc.o >crtc.lst). Si je supprime lun des trois fichiers crt.gpi gpc.gpi ou crt.o , la compilation fonctionne à nouveau.
Une idée? Merci.
-----------------------------------------------------------------------
Dans le fichier crtdummy.c (dans units), il est dit:
- add a statement to #include that file, together with suitable #ifdefs in crtc.c
Alors la c'est la catastrophe! Qu'avez-vous compris?
------------------------------------------------------------------------
Maurice a écrit:
The link to the last djgpp version of gpc in the directory gnu-pascal/djgpp on agnes is not correct: instead of gpc20bb -> ../binary/gpc-19990530-i386-pc-djgppv202.zip it should be gpc20bb -> ../beta/binary/gpc-19990530-i386-pc-djgppv202.zip
Quel est le nom exact complet? Dans ftp://agnes.dida.physik.uni-essen.de/gnu-pascal je ne vois pas de djgpp. le gpc20bb.zip que j'ai pris est tiré de : ftp://agnes.dida.physik.uni-essen.de/gnu-pascal/current/binary/gpc-19990430-i386-pc-djgppv202.zip . Ai-je pris le mauvais fichier?
------------------------------------------------------------------
Quand je compile avec rhide, j'ai un message "ignoring -g". J'ai contacté Robert (auteur de rhide) qui m'a répondu:
To modify the calling sequences for external programs, you don't need to modify RHIDE itself. All is done via so called specs. You can see all the builtin specs by running
redir -e specs rhide -E
If you look at the file specs after this, you will find for instance a line like
RHIDE_COMPILE_LINK_GPC_AUTOMAKE=$(RHIDE_LD_PASCAL) $(RHIDE_LIBDIRS) -o\ $(OUTFILE) --automake="$(strip $(RHIDE_GPC_FLAGS))"\ $(RHIDE_GPC_FLAGS) $(SOURCE_NAME) $(LIBRARIES) $(LDFLAGS)\ $(RHIDE_LDFLAGS) $(RHIDE_LIBS)
To overwrite such a builtin specs, provide a new one in a rhide.env file (either the global one in %DJDIR%/share/rhide/ or a local one in the current directory). In you specific task you should place a line like the following:
RHIDE_COMPILE_LINK_GPC_AUTOMAKE=$(RHIDE_LD_PASCAL) $(RHIDE_LIBDIRS) -o $(OUTFILE) -automake $(RHIDE_GPC_FLAGS) $(SOURCE_NAME) $(LIBRARIES) $(LDFLAGS) $(RHIDE_LDFLAGS) $(RHIDE_LIBS)
(NOTE here, this should be all ONE long line!!!)
J'ai effectivement bien la spec indiquée. Je ne commprends pas bien ce que je dois faire avec la fameuse ligne. Je l'ai mise seule dans un fichier rhide.env mis dans les deux répertoires indiqués sans aucun changements.
Heu... Au secours!
---------------------------------------------------------------------
Ca fait quoi chez vous? A+ Olivier