[Résolu] Bibliothèque en C++, projet en Objective-C ...

ancrouancrou Membre
juillet 2008 modifié dans API AppKit #1
Bonjour,
J'ai une bibliothèque ne C++
Mon projet en Objective-C.
J'ai fait une classe en Objective-C++ pour faire l'interface entre les deux, mais en vain.

Bibli.h         //en C++
Bibli.cpp

Interface.h        //en Objective-C++
Interface.mm

Projet.h            //en Objective-C
Projet.m

UnObjet.h          //en C++
UnObjet.cpp

Si je fait un
#include "UnObjet.h"
dans l'objective-C++ j'ai l'erreur :
error: redefinition of 'class UnObjet'


Si je fait un importe j'ai toutes mes méthodes non reconnues ...

Je n'est pas encore utilisé ma classe Objective-C++ dans mon projet ! Que déjà  je suis dans la merde.

Un technique, un exemple pour bien isoler le C++ de mon objective-C ?

Réponses

  • schlumschlum Membre
    04:21 modifié #2
    Ben le classique... Entourer tout dans "UnObjet.h" par :

    #ifndef _UN_OBJET_H_<br />#define _UN_OBJET_H_<br /><br />// [...]<br /><br />#endif
    
  • ancrouancrou Membre
    04:21 modifié #3
    Et il m'a aussi fallu supprimer tout les Objets C++ dans mon fichier .h du Objective-C++
    Je déclare mon Objet C++ dans l'implantante de mon Objective-C++ et non plus dans l'interface.

    Berf, ça l'air de marcher  :p

    Merci  ;)
  • MalaMala Membre, Modérateur
    04:21 modifié #4
    Si je ne m'abuse, de mémoire, il faut renommer l'ensemble des fichiers .m en .mm sinon ça coince dès qu'on a des imports entre fichiers Obj-C et Obj-C++.
  • schlumschlum Membre
    04:21 modifié #5
    dans 1215780591:

    Si je ne m'abuse, de mémoire, il faut renommer l'ensemble des fichiers .m en .mm sinon ça coince dès qu'on a des imports entre fichiers Obj-C et Obj-C++.


    Seulement ceux qui utilisent le C++ (via un header ou directement...)
  • MalaMala Membre, Modérateur
    04:21 modifié #6
    Oui tout à  fait.
Connectez-vous ou Inscrivez-vous pour répondre.