Linker-Flags für iOS mit Xcode

8

Wo finde ich Dokumentation zu den Compiler-Flags und Linker-Flags, die wir für unsere iOS-Projekte in Xcode angeben können?

Der aktuelle Grund, warum ich mehr über die möglichen Flags lesen möchte, ist, dass das Google Admob SDK besagt, dass wir das Linker -Objc Flag setzen müssen, während das Facebook SDK empfiehlt, es NICHT für kleinere Binaries zu setzen. Also, ich habe mich gefragt, können wir Objc für eine bestimmte Bibliothek (Google Admob in diesem Fall) und haben es für eine andere Bibliothek (Facebook) gesetzt? Ich erwartete, in der Lage zu sein, eine man-Seite oder ein anderes Dokument zu finden, was die Compiler- und Linker-Optionen an erster Stelle sind, und zoom dann auf Objc. Es gibt Unmengen an Dokumentationen und Stackoverflow-Posts usw., um Linker-Flags in Xcode zu setzen. Was fehlt, ist eine Liste möglicher Linker-Flags, die wir setzen können und was sie jeweils bedeuten.

Überraschenderweise hat mich das Durchforsten ziemlich verwirrt, da es Sachen gibt, die klingeln, llvm, llvm-gcc usw. und LLVM-Site listet eine Anzahl von llvm-Befehlen auf, aber ich sehe -Objc nicht auf einer der entsprechenden Seiten. Abgesehen von der Frage, ob der Compiler und der Linker clang oder llvm sind oder wie sie heißen, gibt es einen Ort, an den wir gehen könnten, um Dokumentation zu lesen, was Xcode zur Kompilierung und Verknüpfung von iOS-Projekten standardmäßig verwendet? (Sagen wir, sowohl Xcode 4.6 als auch Xcode 5.0.2, falls es verschiedene Doc-Sets gibt?) Danke!

    
auspicious99 31.01.2014, 10:46
quelle

2 Antworten

10

Sie können man 1 ld ausprobieren. Für den -ObjC -Flag ist insbesondere die Beschreibung:

  

-ObjC Lädt alle Mitglieder der statischen Archivbibliotheken   Implementieren Sie eine Objective-C-Klasse oder -Kategorie.

BEARBEITEN

Für Ihre andere Frage zum AdMob-SDK und zum Facebook-SDK empfehle ich, das -ObjC zu den Linker-Flags hinzuzufügen und einen Blick auf dieser Artikel, der erklärt warum. Grundsätzlich schlägt Facebook vor, es nicht zu verwenden, da Ihre ausführbare Datei aufgrund zusätzlichen Objektcodes, der in Ihre Binärdatei geladen wird, größer wird.

    
Ivan Genchev 31.01.2014, 11:16
quelle
0

Ich hatte dieses Problem, als ich eine Funktion in meine .hpp-Datei legte.

%Vor%

Ich musste inline hinzufügen, damit es funktioniert.

%Vor%

Noch besser definieren Sie nicht Ihre Funktionen innerhalb Ihrer Header.

    
Leo 06.12.2017 20:57
quelle

Tags und Links