ich diesen FehlerWie wird der Fehler Undefined Symbols aufgelöst?
Undefined symbols:
".objc_class_name_MyClass", referenced from:
[email protected][email protected][email protected] in infoViewController.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
Wenn unterhalb der statischen Methode verweisen:
[MyClass ClickComment:self.navigationController];
MyClass in einer statischen Bibliothek definiert ist, die ich in meiner app Projekt Referenzierung bin. Wenn ich anfange "[MyClass" ... einzugeben, erhalte ich Hinweise zur Nachricht. Das App-Projekt kennt MyClass und welche Methoden darauf definiert sind. Trotzdem erhalte ich den obigen Fehler. Durch das Auskommentieren dieses Aufrufs kann das Projekt ohne Fehler erstellt werden.
In der statischen Bibliothek habe ich eine .h-Datei, die auf alle .h-Dateien der Bibliothek verweist. Auf diese Weise muss das App-Projekt nur auf eine .h-Datei aus der statischen Bibliothek verweisen. Das statische Bibliotheksprojekt hat auch eine App. Ich benutze es, um die statische Bibliothek zu testen. Ich kann den obigen Anruf gut machen. Normalerweise sehe ich diese Art von Fehlern, wenn die statische Bibliothek eine Device/Debug-Version erstellt hat und das App-Projekt Build-Simulator/Debug hat. Beide Builds sind jedoch synchron.
Ich weiß, dass es ein Referenzproblem gibt, aber ich bin nicht sicher, wie es gelöst werden kann. Irgendwelche Vorschläge?
Ich habe es jetzt funktioniert. Vor allem in der statischen Bibliothek für MyClass musste ich MyClass.m ein paar #import-Anweisungen hinzufügen. Ich fand das merkwürdig, da sich alle #import-Anweisungen in der oben erwähnten .h-Datei befinden, auf die von der PCH-Datei des Projekts verwiesen wird, die ich in Compiled Headers des Bibliotheksziels sehe. Irgendwo gibt es immer noch eine Trennung. – 4thSpace