在64位OSX上构建32位libcurl

时间:2016-07-28 11:01:08

标签: c++ macos curl makefile libcurl

根据curl,我试图在64位OSX安装(Yosemite 10.10.5)上为OSX构建一个32位的the documentation库。我曾尝试使用许多不同的参数调用./configure,但这是我希望涵盖所有基础的那个:

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

我也尝试了不同的主机,例如x86-apple,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调用是否形成错误,我错过了标志或参数吗?根据{{​​3}},人们已成功编译到i386 Mac OS X,所以我假设有一些我不知道的东西

1 个答案:

答案 0 :(得分:1)

也许已经很晚了,但是因为我只是碰到了同样的墙......你可以尝试在配置选项中指定:

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

据我所知,host表示您正在构建的计算机的体系结构,而build是目标体系结构。