Bonjour.
J'ai regardé tous les tutos que j'ai pu trouver pourinterfacer du code C dans Ocaml (le DAOC, la page de F. Monnier
et ici même le tuto de anne pacalet) et je n'y arrive pas.
J'ai une erreur de gcc qui apparait à propos du fichier config.h :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
In file included from C:/OCaml/lib/caml/mlvalues.h:22,
                 from wrap.c:2:
C:/OCaml/lib/caml/config.h:140: erreur: erreur d'analyse syntaxique avant << int64 >>
C:/OCaml/lib/caml/config.h:140: attention : la d'efinition de donn'ees n'a pas de type ni de classe de stockage
C:/OCaml/lib/caml/config.h:141: erreur: erreur d'analyse syntaxique avant << uint64 >>
C:/OCaml/lib/caml/config.h:141: attention : la d'efinition de donn'ees n'a pas de type ni de classe de stockage
J'ai installé la version mingw de ocaml, et je l'utilise sous mingw de cygwin (comme indiqué dans le manuel d'install de Ocaml, quand on veut developper une application en natif)
Pour mon test, j'essaye de compiler une fonction très simple :
Code c : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
#include <caml/mlvalues.h>
 
CAMLprim value
_get_an_int( value v )
{
    int i;
    i = Int_val(v);
    printf("%d\n", i);
    return Val_unit;
}

De plus, je ne comprends pas pourquoi le compilo c me fait **** avec les int64 ayant une machine 32bits (mais bon là, j'ai peut etre mal compris la réponse de l'erreur)
Peut-être quelqu'un pourra me sortir de cette impasse.