compiler une libairie.

houlala63houlala63 Membre
21:11 modifié dans Vos applications #1
voila, j'ai besoin dans une de mes applis de la libairie libmpx.so contenue dans la mpxapi:
http://members.ozemail.com.au/~betts/downloads/
malheureusement ,et malgré mes modifs,j'obtiens encore des erreurs de type IPC_NOWAIT undeclared
comme me l'a indiqué son auteur ,j'ai modifié ceci:
j'ai changé les #includes msg.h en message.h
dans les makefiles,changer:
CFLAGS = -g -B dynamic $(INCLUDE_DIRS)
en:
CFLAGS = -fno-common $(INCLUDE_DIRS)
ainsi que les lignes contenant:
$(CC) $(CFLAGS) -G
a remplacer par:
$(CC) $(CFLAGS) -bundle -flat_namespace -undefined suppress
voila c'est tout!malheureusement,l'auteur de la mpxapi n'a pas de mac ,mais il m'a quand même aidé un peu
Si une personne charitable pouvait aussi m'apporter de l'aide,ce serait super .Merci aux eventuelles réponses. ;)

Réponses

  • nucleusnucleus Membre
    21:11 modifié #2
    As-tu essayé:
    #include <sys/ipc.h>
    
  • houlala63houlala63 Membre
    21:11 modifié #3
    In file included from mrwqueue.c:24:
    ../include/sys/ipc.h:22:22: features.h: No such file or directory
    ../include/sys/ipc.h:25:3: warning: #warning "Files using this header must be compiled with _SVID_SOURCE or _XOPEN_SOURCE"
    ../include/sys/ipc.h:29:27: bits/ipctypes.h: No such file or directory
    ../include/sys/ipc.h:30:22: bits/ipc.h: No such file or directory
    Voila ce que j'obtiens a noter que je n'ai trace nulle par de features.h(aie,aie,aie) :P
  • nucleusnucleus Membre
    21:11 modifié #4
    dans 1092787918:
    ../include/sys/ipc.h:25:3: warning: #warning "Files using this header must be compiled with _SVID_SOURCE or _XOPEN_SOURCE"

    Et si tu definis ces 2 là ?
  • houlala63houlala63 Membre
    21:11 modifié #5
    ???
    Pas facile pour moi,je bricole la.je dois les mettre ou SVID_SOURCE ou XOPEN_SOURCE?
    Je galère parce que c'est un peu du chinois pour moi :D
    ??? ??? ??? ??? ???
  • nucleusnucleus Membre
    21:11 modifié #6
    dans 1092833586:

    ???
    Pas facile pour moi,je bricole la.je dois les mettre ou SVID_SOURCE ou XOPEN_SOURCE?
    Je galère parce que c'est un peu du chinois pour moi :D
    ??? ??? ??? ??? ???


    Ben là  je peux pas accéder à  XCode mais de mémoire il faut que tu rejoute deux variables de compilation nommées _SVID_SOURCE et  _XOPEN_SOURCE

    Autre solution, tu dois pouvoir aussi reperer une variable "Compiler flags" et rajouter " -D_SVID_SOURCE -D_XOPEN_SOURCE" à  sa valeur
  • houlala63houlala63 Membre
    21:11 modifié #7
    cc -fno-common -I../include -c -D_XOPEN_SOURCE mrwqueue.c
    In file included from mrwqueue.c:24:
    ../include/sys/ipc.h:22:22: features.h: No such file or directory
    ../include/sys/ipc.h:25:3: warning: #warning "Files using this header must be compiled with _SVID_SOURCE or _XOPEN_SOURCE"

    j'ai essayé ça mais c'est toujours le même résultat  :(
  • nucleusnucleus Membre
    août 2004 modifié #8
    En fait.. ca risque d'être plus compliqué qu'un simple problème de compilation...

    J'ai vu ca dans la Technical Note 2071:

    msg.h
            For information on how to implement message queues, see the
            Technical Note 1071. The APIs implemented in msg.h are also
            not supported, such as msgget, msgsnd, msgrcv, and msgctl. The
            Technical Note mentioned above will help you implement the
            functionality from these functions.


    Donc en gros ca ne peut pas marcher tel quel car cette librarie utilise ces appels..
  • houlala63houlala63 Membre
    21:11 modifié #9
    The APIs implemented in msg.h are also
             not supported, such as msgget, msgsnd, msgrcv, and msgctl
    en fait tu peus retrouver ces appels:
    Il existe sur Freshmeat.org un projet open-source de kext qui offre des services équivalents aux IPC System V: sysvmsg.
    http://freshmeat.net/projects/sysvmsgosx/?branch_id=47833&release_id=160852
    mais j'obtiens quand même des IPC_NOWAIT peut être j'ai pas bien fait marcher le truc. :-\
  • nucleusnucleus Membre
    21:11 modifié #10
    dans 1092952916:
    Il existe sur Freshmeat.org un projet open-source de kext qui offre des services équivalents aux IPC System V: sysvmsg.
    http://freshmeat.net/projects/sysvmsgosx/?branch_id=47833&release_id=160852
    mais j'obtiens quand même des IPC_NOWAIT peut être j'ai pas bien fait marcher le truc. :-\

    Tu arrive à  compiler finalement?
  • houlala63houlala63 Membre
    21:11 modifié #11
    NON!!! :D
Connectez-vous ou Inscrivez-vous pour répondre.