【问题标题】:Build 32 bit libcurl on 64 bit OSX在 64 位 OSX 上构建 32 位 libcurl
【发布时间】:2016-12-02 17:34:42
【问题描述】:

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

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

我也尝试过不同的主机,例如 x86-apple、x86-apple-darwin、i386-apple-darwin 等。据我所知,它们的构建都没有问题,但是当我尝试构建链接到生成的 dylib 的另一个 32 位项目,我收到以下错误消息

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,所以我假设我缺少一些东西

【问题讨论】:

    标签: c++ macos curl makefile libcurl


    【解决方案1】:

    也许已经晚了,但是因为我刚刚碰到了同一堵墙……您可以尝试在配置选项中指定:

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

    据我所知,host 表示您正在构建的机器的架构,而build 是目标架构。

    【讨论】:

      猜你喜欢
      • 2011-10-18
      • 2014-11-27
      • 2012-07-20
      • 2012-11-26
      • 1970-01-01
      • 2013-11-07
      • 1970-01-01
      • 1970-01-01
      • 2012-03-08
      相关资源
      最近更新 更多