2011-10-12 2 views
0

J'ai besoin d'inclure du code c objectif dans mon projet Firebreath. Le problème est que le projet est en C++ lenguage. J'essaie donc avec le code objectif-C++. Le nom du projet plugin est "OpenOnDesktopPlugin", j'ai renommé le "OpenOnDesktopPluginAPI.cpp" en "OpenOnDesktopPluginAPI.mm" et j'ai créé une classe objective-c appelée "DistributedNotification" et je change l'extension .m en .mm Je ne peux pas initialisation ma classe objective-c de "OpenOnDesktopPluginAPI.mm", je reçois des erreurs de compilation:Projet Firebreath avec objectif-C++

symboles non définis pour l'architecture x86_64: "_OBJC_CLASS _ $ _ DistributedNotification", référencé à partir de: objc classe-ref dans OpenOnDesktopPluginAPI.o ld: symbole (s) non trouvé (s) pour l'architecture x86_64 collect2: ld retourné 1 statut de sortie

et l'autre erreur:

symboles pour l'architecture i386 indéfinis: ".objc_class_name_DistributedNotification", fait référence à partir de: pointeur à littéral-objc-class-name dans OpenOnDesktopPluginAPI.o ld: symbole (s) trouvé pour ne pas l'architecture i386 collect2: ld a retourné 1 statut de sortie

Quelqu'un peut-il m'aider?

Répondre

0

Le fichier de code source contenant la classe DistributedNotification n'est pas lié. Assurez-vous qu'il figure dans la liste des fichiers compilés de votre cible.

+0

Salut JeremyP, où est la liste des fichiers compilés de la cible? – Ana

+0

Je l'ai déjà trouvé. Merci beaucoup!!! Mon projet est en cours :) – Ana

+0

Savez-vous comment vérifier que ma méthode est appelée? J'ai ce code: void OpenOnDesktopPluginAPI :: runNotification() { DistributedNotification * _class = [[DistributedNotification alloc] init]; [libération de classe]; } mais il semble que ce code ne soit jamais appelé ... – Ana

Questions connexes