Discussion:
problème de dll avec LablTk
(trop ancien pour répondre)
Alain Coste
2008-03-27 18:00:37 UTC
Permalink
Bonjour,

Je tente de créer une interface graphique avec LablTk, et j'ai des problèmes
système:
- Windows XP
- OCaml 3.10, port natif Visual C
- TclTk 8.5.1.0 (mais même pb avec 8.4, de toutes façons je n'arrive pas
jusqu'à l'appel de Tcl)

Programme Caml: ess-tk2.ml

open Tk
let top = openTk ()
let b = Button.create ~text: "Hello, LablTk!" top
let _ = pack [coe b]
let _ = Printexc.print mainLoop ()

Compilation avec: ocamlc -g -w s -I +labltk labltk.cma ess-tk2.ml -o
ess-tk2.exe --> OK
Exécution: ocamlrun ess-tk2.exe (ou
--> Fatal error: cannot load shared library dlllabltk

Reason:
%1 n'est pas une application Win32 valide.

Même problème si j'utilise le toplevel :

# #directory "+labltk";;
# #load "labltk.cma";;
Cannot load required shared library dlllabltk.
Reason: D:\ObjectiveCaml\lib\stublibs\dlllabltk.dll: %1 n'est pas une
application Win32 valide.

J'ai évidemment vérifié que la dll dlllabltk.dll est bien dans le
répertoire D:\ObjectiveCaml\lib\stublibs, et que le chemin
D:\ObjectiveCaml\lib\stublibs figure dans le fichier
D:\ObjectiveCaml\lib\ld.conf

Je soupçonne un problème de non expansion de paramètre, à cause du %1, mais
où ?

J'ai également rencontré un problème de dll en essayant d'installer LablGtk
: libgtk-win32-2.0-0.dll non trouvée, alors que j'avais placé le chemin
d'accès dans ld.conf.

Voilà, si quelqu'un a une idée, cela me rendrait bien service, car après 3
jours de consultation des docs et d'essais infructueux je me sens incapable
de résoudre le problème...
--
Coste Alain
Alain Coste
2008-03-27 18:09:09 UTC
Permalink
Rebonjour,

Désolé, je m'aperçois que mes copier/coller sont mal passés lors de l'envoi
du message:

- Windows XP
- OCaml 3.10, port natif Visual C
- TclTk 8.5.1.0 (mais même pb avec 8.4, de toutes façons je n'arrive pas
jusqu'à l'appel de Tcl)


Programme Caml: ess-tk2.ml

open Tk
let top = openTk ()
let b = Button.create ~text: "Hello, LablTk!" top
let _ = pack [coe b]
let _ = Printexc.print mainLoop ()


Compilation avec ocamlc -g -w s -I +labltk labltk.cma ess-tk2.ml -o
ess-tk2.exe
--> OK

Exécution avec ocamlrun ess-tk2.exe (ou ess-tk2.exe)
--> Fatal error: cannot load shared library dlllabltk
Reason: %1 n'est pas une application Win32 valide.

Voilà, je crois que la suite est compréhensible....
--
Alain Coste
Loading...