2016-07-28 214 views
1

我試圖根據the documentation在64位OSX安裝(Yosemite 10.10.5)上爲OSX構建一個32位的curl。我已經打過電話的./configure與許多不同的參數,但是這是我希望覆蓋所有基地之一:在64位OSX上構建32位libcurl

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

我已經嘗試了不同的主機爲好,如x86的蘋果,x86-apple-darwin,i386-apple-darwin等。就我所見,它們都沒有問題,但是當我嘗試構建我的其他32位項目時,鏈接到生成的dylib,我得到以下錯誤消息

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

,然後在

Undefined symbols for architecture i386: 
"_curl_easy_cleanup" [...] 
若干變化

lipo -info libcurl.a 

呼叫產生以下結果

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

我在做什麼錯?我的./configure調用是否形成嚴重,我是否缺少標誌或參數?根據installation instructions,人們已經成功編譯爲i386 Mac OS X,所以我假設我有一些東西丟失了

回答

1

也許是晚了,但是因爲我只是碰到同一堵牆......你可以試着指定配置選項:

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

至於我可以告訴大家,host表示其正在構建的機器的架構,而build是目標架構。