Frage

Grundsätzlich kann ich eine statische Bibliothek in Xcode4 erstellen und kompilieren, aber die Funktionen werden nicht von OTOOL eingelesen. Ich habe es geschafft, es zu tun einmal so dass es funktionieren würde, aber jedes andere Mal seitdem ist es gescheitert, also weiß ich, dass ich einen offensichtlichen Schritt fehlen muss.

Was ich derzeit mache, ist eine neue Ansichtsanwendung in Xcode4 zu erstellen. Ich füge dann ein neues Ziel (Nummern) hinzu, Zahlen Ich füge eine Quelldatei namens Datei.c hinzu und der Inhalt lautet:

static int Get10()
{
    return 10;
}

Dann kompile ich es (stelle sicher, dass ich Nummern ausgewählt habe | iPhone 4.3 -Simulator im Build -Schema Dropdown).

Aber wenn ich otool -s auf libnumbers laufe. A bekomme keine Ergebnisse:

Größe der RANLIB -Strukturen: 0 (Nummer 0) Objektversetz String -Index

Ich weiß, dass es dort ein paar Sachen geben sollte, denn wenn ich Otool -s auf den richtig gebauten Libnumbers laufe. Ich bekomme einige Zahlen anstelle von 0S:

Größe der RANLIB -Strukturen: 16 (Nummer 2) Objektversetzt String -Index 136 0 136 7

Ich weiß wirklich nicht, was ich genau falsch mache. Ich habe versucht, das zu unterstützen, was ich mit dem erfolgreichen Lib -Compile gemacht habe, das ich gemacht habe, aber nichts wirklich gefunden hat, um anzuzeigen, warum die mit diesem zusammengestellten Funktionen, aber nicht diese zusammengestellt haben.

War es hilfreich?

Lösung

Verwenden Sie nicht static Wenn Sie die Funktion außerhalb der Übersetzungseinheit verwenden möchten, ist sie definiert. Sie möchten stattdessen eine externe Verknüpfung für die Funktion, indem Sie einfach das auslassen static Teil (externe Verknüpfung ist die Standardeinstellung für Funktionen).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top