problème de compilation [OCaml] - Divers - Programmation
Marsh Posté le 02-06-2003 à 11:09:47
Salut,
Première remarque : tu sembles créer ton Makefile à la main. Il y a plus simple : ocaml est livré avec un utilitaire qui cherche les dépendances entre tes fichiers caml et te créer un fichier de dépendance. Je crois qu'il s'appelle ocamldept ou un truc dans ce genre.
Donc ensuite tu fais un Makefile générique qui inclus le fichier de dépendance, et ça roule... Regarde dans l'aide de ocaml pour plus de détails (le Makefile générique est déjà tout fait).
Sinon pour ton problème, je ne sais pas trop. Il manque une tabulation il me semble à la ligne "$(EXE): $(HDS) $(OBJS)", sinon, je vois pas trop.
Marsh Posté le 02-06-2003 à 11:22:05
Merci pour ton aide, je ne connaissais pas ocamlopt
J'ai resolu mon probleme en changeant l'ordre eds cmx, en mettant tools.cmx en premier =)
Merci à toi !
@+
Marsh Posté le 02-06-2003 à 14:28:06
Evadream -jbd- a écrit : Merci pour ton aide, je ne connaissais pas ocamlopt |
Lol, enfin, j'avais le début quand même
Marsh Posté le 02-06-2003 à 16:59:25
nraynaud a écrit : ocamlopt c'est le compilo natif, je vois pas le rapport. |
Oui, tu as raison...
C'est bien ocamldep le générateur de fichier de dépendance : http://caml.inria.fr/ocaml/htmlman/manual027.html
Marsh Posté le 01-06-2003 à 23:57:12
Bonjour,
J'ai un petit problème de compilation avec un petit programme :
Voici ce que j'obtiens après un make :
ocamlopt operations.cmx tools.cmx tests.cmx main.cmx -o projet
No implementations provided for the following modules:
Tools referenced from operations.cmx
Types referenced from operations.cmx
make: *** [projet] Error 2
Voici mon makefile :
OBJS = operations.o tools.o tests.o main.o
CMX = operations.cmx tools.cmx tests.cmx main.cmx
HDS = types.cmi operations.cmi tools.cmi tests.cmi main.cmi
EXE = projet
CAML = ocamlopt
OPTS = -i -unsafe -w A
RM = /bin/rm -f
dep : $(EXE)
all: clean dep
$(EXE): $(HDS) $(OBJS)
$(CAML) $(CMX) -o $(EXE)
tools.o: tools.ml tools.mli types.mli
$(CAML) -c $(OPTS) tools.ml
tests.o: tests.ml tests.mli types.mli
$(CAML) -c $(OPTS) tests.ml
operations.o: tools.ml tools.mli operations.ml operations.mli types.mli tests.ml tests.mli
$(CAML) -c $(OPTS) operations.ml
main.o: main.ml main.mli operations.ml operations.mli types.mli tests.ml tests.mli
$(CAML) -c $(OPTS) main.ml
types.cmi: types.mli
$(CAML) $(OPTS) types.mli
tests.cmi: types.mli tests.mli tools.mli
$(CAML) $(OPTS) tests.mli
tools.cmi: tools.mli types.mli
$(CAML) $(OPTS) tools.mli
operations.cmi: operations.mli types.mli tests.mli
$(CAML) $(OPTS) operations.mli
main.cmi: main.mli types.mli
$(CAML) $(OPTS) main.mli
clean:
$(RM) $(EXE) $(OBJS) $(HDS) $(CMX) core *#* *~
Est-ce que vous voyez ce qui cloche ? J'ai un peu le nez dedans depuis 2h, je vois plus rien
Merci !