Version française
Home     About     Download     Resources     Contact us    
Browse thread
Problèmes avec lib UNIX sur Windows
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Xavier Leroy <Xavier.Leroy@i...>
Subject: Re: Problèmes_avec_lib_UNIX_sur_Windows
> je souhaite utiliser la librairie Unix sous Windows98 
> pour réaliser un petit programme utilisant les 'SOCKET'
> mais mes nombreuses tentatives restent sans succès.
> (voir extraits si dessous)

> ***********************************************
> Dans l'interpréteur
> ***********************************************
> D:\ocaml\lib> ocaml
>         Objective Caml version 2.02
> 
> # #load"unix.cma";;
> The external function `unix_error_message' is not available

Le "runtime system" standard d'OCaml ne contient pas préchargées les
fonctions C nécessaires à la bibliothèque Unix.  Il faut en effet
construire un "runtime system" spécial contenant ces fonctions C.
Votre tentative suivante est exactement ce qu'il faut faire:

> ***********************************************
> Tentative de creation d'un nouveau interpréteur
> (tel que décris dans la doc)
> ***********************************************
> D:\ocaml\lib> ocamlmktop -custom -o mytop unix.cma -cclib -lunix
> Bad command or file name
> I/O error: mytop.exe: No such file or directory

... mais ocamlmktop -custom a besoin d'appeler le compilateur MSVC++
version 6 pour construire son "runtime system", et apparemment il
n'est pas installé sur votre machine (le "Bad command or file name").

> ***********************************************
> Tentative de creation d'un nouveau interpréteur
> (idem mais en supprimant la directive -custom)
> ***********************************************
> D:\ocaml\lib> ocamlmktop -o mytop unix.cma -cclib -lunix
> Error while linking unix.cma(Unix):
> The external function `unix_error_message' is not available

Là, c'est la même explication que pour la première erreur: sans option
-custom, les primitives C nécessaires à unix.cma ne sont pas
disponibles.

En résumé: la lib Unix nécessite l'option -custom, et l'option -custom
nécessite le compilateur MSVC++ version 6.  Ce sont les joies de
Windows; sous Unix, vous auriez tous les outils nécessaires intégrés
d'entrée de jeu, et -custom marcherait du premier coup.

- Xavier Leroy