2015-10-26 12 views
5

Ich versuche, eine Anwendung auf Mac OSX zu portieren. Es verwendet openssl. Ich bin neu in der Entwicklung von xcode und mac. Muss ich openssl selbst kompilieren und installieren oder gibt es ein OpenSSL-devel-Paket, das als Teil des Betriebssystems oder mit Homebrew oder ähnlichem verfügbar ist?Wie OpenSSL zu einem Xcode-Projekt hinzufügen

+0

Siehe auch [Build Multiarch OpenSSL unter OS X] (http://StackOverflow.com/q/25530429) auf Stack Overflow. – jww

Antwort

5

Sie müssen es selbst kompilieren und verknüpfen, und Ihre App muss es versenden. Wenn die Lizenz Ihrer App und die OpenSSL-Lizenz kompatibel sind, können Sie die statische Verknüpfung verwenden. Andernfalls müssen Sie es dynamisch verknüpfen.

Es gibt ein paar Dokumente describing the process und build scripts, die Sie mit Google-Suchen finden können. Für iOS gibt es sogar eine Github project. Ich habe den Inhalt dieser Dokumente hier nicht kopiert, da es zu viel ist und ein bewegliches Ziel ist.

Sie können OpenSSL auch mit Homebrew installieren. Wenn Sie möchten, dass Ihre App nur auf Ihrem Mac läuft und Sie sie nicht verteilen möchten, ist dies der einfachste Weg: Sie müssen ihn nur verlinken. Wenn Sie jedoch Ihre App verteilen möchten, müssen Sie die Bibliothek/Bibliotheken in Ihr App-Paket kopieren und sicherstellen, dass der Linker sie dort findet. Dies hat auch den Nachteil, dass es eine mögliche "Trennung" zwischen Ihrer App und der OpenSSL-Version gibt: Wenn Sie in einem Jahr OpenSSL mit Homebrew updaten und eine ältere Version Ihrer App mit der gleichen OpenSSL-Version kompilieren/verlinken möchten wie Sie hab zu der Zeit benutzt, du hast ein Problem.

+0

Was ist los mit der Verwendung von Macports, um openssl zu erstellen? – trojanfoe

+0

Nichts. Es hat genau die gleichen Vorteile/Probleme wie die Homebrew Lösung. – DarkDust

+0

Ich folge dem Nachteil nicht. Wenn Sie eine Verknüpfung mit der statischen Bibliothek oder der dynamischen Bibliothek herstellen (und diese in das App-Bundle einschließen), sind Sie unabhängig von der Version, die über homebrew/macports installiert wird. Der Vorteil der Verwendung von Homebrew/Macports ist jedoch enorm, wenn es darum geht, die Bibliothek überhaupt zu bauen. – trojanfoe

0

1) Download Quelle von openssl source

2) extrahiert komprimierte Datei in dem Verzeichnis Ihrer Wahl.

3) Öffnen Zeilenbefehl und gehen Sie in das Verzeichnis, und geben Sie etwas ähnliches wie ./configure darwin64-x86_64-cc

4) Dann make depend

5 Typ) Dann make install

6) Gehen Sie zu Ihrem Xcode-Projekt Build-Einstellungen . Unter Header-Suchpfade hinzufügen /usr/local/ssl/include und Bibliothekssuchpfade /usr/local/ssl/lib (oder was auch immer Installationspfade Sie im Konfigurationsschritt gewählt)

7) Noch in der Build-Einstellungen gehen zu verknüpfen und unter anderen Linker-Flags setzen -lssl -lcrypto

sollten Sie sein Gut, jetzt zu gehen.

Verwandte Themen