2016-07-28 23 views
1

Ich versuche, eine 32-Bit-lib von curl für OSX, auf einer 64-Bit-OSX-Installation (Yosemite 10.10.5), nach the documentation. Ich habe versucht, mit einer Reihe von verschiedenen Argumente nennen configure, aber das ist die eine, die ich erwarten würde alle Grundlagen abzudecken:Build 32 Bit libcurl auf 64-Bit OSX

CFLAGS='-m32 -arch i386' LDFLAGS='-arch i386' ./configure --host=i386-apple 

ich verschiedene Hosts als auch versucht haben, wie x86-Apfel , x86-apple-darwin, i386-apple-darwin, usw. Sie alle bauen ohne Probleme, soweit ich sehen kann, aber wenn ich versuche, mein anderes 32-Bit-Projekt zu bauen, das mit der resultierenden Dylib verknüpft, bekomme ich Folgendes Fehlermeldung

warning: ignoring file [...]/libcurl.a, file was built for archive which is not the architecture being linked (i386) 

Und dann mehrere Varianten auf

Undefined symbols for architecture i386: 
"_curl_easy_cleanup" [...] 

Ein Aufruf

lipo -info libcurl.a 

ergibt das folgende Ergebnis

fatal error: [...]/lipo: archive with no architecture specification: libcurl.a 

Was mache ich falsch? Ist mein ./configure Aufruf schlecht gebildet, fehlt mir eine Flagge oder ein Argument? Laut der installation instructions, Menschen haben erfolgreich zu i386 Mac OS X kompiliert, so nehme ich an, es gibt etwas, das ich vermisse

Antwort

1

Vielleicht ist es spät, aber da ich gerade die gleiche Wand getroffen ... Sie können versuchen, in konfigurieren Optionen:

./configure --build=i386-darwin --host=x86_64-darwin 

Soweit ich das beurteilen kann, host die Architektur der Maschine bezeichnet, auf dem Sie bauen, während build die Zielarchitektur ist.