c++ - 在 64 位 OSX 上构建 32 位 libcurl

标签 c++ macos curl makefile libcurl

我正在尝试构建 curl 的 32 位库对于 OSX,在 64 位 OSX 安装 (Yosemite 10.10.5) 上,根据 the documentation .我试过使用许多不同的参数调用 ./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,所以我假设我遗漏了什么

最佳答案

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

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

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

关于c++ - 在 64 位 OSX 上构建 32 位 libcurl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38634446/

相关文章:

c++ - 在没有new的情况下在堆上创建一个对象

java - “发布到 localhost 的 Tomcatv8.0 服务器”失败并出现多个错误

php - CURL:发布表单并从 bash 获取数据

curl - 如何设置 cURL 默认 --insecure 选项?

php - CURL:使用 PHP 的 ftp-skip-pasv-ip

c++ - operator<< 在我的类里面使用不明确

c++ - 结合 GetMessage 和 PeekMessage

c++ - 对由类型运算符创建的临时引用

macos - MAC OSX dylib 以及如何使用它们

macos - HighSierra LLVM中可以使用OpenMP吗?