Erreur : Apple Mach-O Linker Error
Sethy
Membre
[font=arial, helvetica, sans-serif]Bonjour à tous,[/font]
[font=arial, helvetica, sans-serif]Je n'aime pas trop "coller" des messages d'erreurs brutes sur un forum, mais la je cale.[/font]
[font=arial, helvetica, sans-serif]Historique du problème : [/font]
[font=arial, helvetica, sans-serif]- Mon code compile et s'exécute correctement.[/font]
[font=arial, helvetica, sans-serif]- Je fais une recherche d'un pattern (ctrl-f), la j'ai peut être merdouillé en faisant un autre control-quelque-chose.[/font]
[font=arial, helvetica, sans-serif]- Depuis, quand je build, alors que je n'ai rien changé au code, j'ai 2 erreurs :[/font]
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_TCase", referenced from:
objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_TCase", referenced from:
objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Je ne comprends évidemment pas la raison de ce i386 alors que je compile pour de l'iOS ...
Quelqu'un a une idée de ce que je peux faire.
Evidemment, j'allais faire un commit des sources juste après ...
D'avance merci.
Sethy
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Manifestement il te manque une bibliothèque ou un framework dans lequel est définie la classe TCase.
2) L'erreur veut dire que tu utilises une classe nommée "TCase" quelque part dans AppDelegate.m mais que cette classe n'est définie nulle part (tu ne donnes nulle part son @implementation).
Du coup quand il compile AppDelegate.m il a le symbole "_OBJC_CLASS_$_TCase" qui est utilisé mais non défini dans AppDelegate.o, et comme nulle part ailleurs dans un autre .m (qui sera compilé en .o) tu ne donne l'implémentation de cette classe il ne sait pas quoi faire.
Soit tu as bien une classe TCase qui traine dans ton projet, mais tu l'as décochée du Target par inadvertence et du coup maintenant il n'est plus dans la liste des fichiers compilés quand tu compiles ton target, soit tu avais une classe qui s'appellait STCase ou je ne sais quoi et tu as supprimé par inadvertance le "S" devant "TCase", un truc comme ça (ceci dit si c'était ça la raison, tu aurais en plus de ce "Linker Error" des warnings qui t'auraient mis sur la voie -- et bien évidemment quand on a une erreur insoluble il faut toujours regarder si les warnings ne nous avaient pas déjà mis sur la voie avant, ils sont là pour ça...
Je n'avais pas de Warning. Apparemment, ma faute de frappe était dans un enum de constante, qui était chargé via un .h dans le fichier qui implémente la classe TCase, d'où le prob.
Merci pour l'aide rapide.