2016-07-28 133 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是目标架构。