2013-11-25 2 views
6

Ich versuche eine iOS 7 App zu archivieren, die BBHTTP-Bibliothek verwendet, die libCurl enthält. Der eingebaute Fehler:"curl_rule_01 als Array mit negativer Größe deklariert" -Fehler bei eingebautem xcode 5 iOs7

curl_rule_01 declared as an array with negative size 

Die Code-Zeile in curlrules.h mit dem Fehler:

[CurlchkszEQ(long, CURL_SIZEOF_LONG)]; 

Ich habe es versucht, mit diesen Veränderungen in curlbuild.h

#define CURL_SIZEOF_LONG 4 

zu

#define CURL_SIZEOF_LONG 8` 

wegen 64 Bit, aber es nicht cha nichts.

+3

Warum ist das nicht '#define CURL_SIZEOF_LONG sizeof (long)'? – trojanfoe

+0

Ja, danke! Ich habe diese Zeile zu curlbuild.h hinzugefügt und archiviert sie jetzt. Keine Ahnung, warum die Leute von libCurl es anders gemacht haben. – Yedy

Antwort

7

Vorsicht: Sie dürfen diese Makros NICHT innerhalb curlbuild.h ändern! Dieser Header wird zum Zeitpunkt der Konfiguration generiert und zeichnet unter anderem auf, auf welche Architektur abgezielt wird.

Wenn Sie an der vorgefertigten statische Bibliothek von BBHTTP vorgesehen schauen, können Sie sehen, dass es zielt nur ARMv7 und ARMv7s Architekturen:

$ otool -fV External/libcurl.iOS/libcurl.iOS.appstore.a | grep Archive 
Archive : External/libcurl.iOS/libcurl.iOS.appstore.a (architecture armv7) 
Archive : External/libcurl.iOS/libcurl.iOS.appstore.a (architecture armv7s) 

Dies sind 32-Bit-Architekturen. Weitere Informationen dazu, wie diese statische Bibliothek kompiliert wurde, finden Sie unter BBHTTP Dependencies.

Wenn Sie eine iOS-App mit iOS 7 als Bereitstellungsziel erstellen, haben Sie sicherlich die Standard-Archs innerhalb Ihrer Build-Einstellungen konfiguriert. Und diese Vorgaben mit einem 32-Bit-Slice, sowie ein 64-Bit-Slice:

enter image description here

So in einem solchen Fall müssen Sie eine Libcurl Fett statische Bibliothek enthalten, die auch enthält eine 64-Bit-Slice (aka arm64).

Die curl iOS build scripts von BBHTTP's Autor könnte Ihnen helfen. Ansonsten siehe Nick Zitzmann libcurl pre-built.

+0

danke für deine antwort. Das hat mir geholfen :) – Guru

Verwandte Themen