0

我的图书馆需要一个网络图书馆,c这样我就可以在iOSandroid. 我一直在四处寻找并尝试将 libcurl 构建为静态库,但没有成功。

我使用以下设置构建它

$ export CC="clang"
$ export CFLAGS="-Wall -g -std=c11 -pipe -Os -gdwarf-2"
$ ./configure --enable-static
make install

当我使用我的 test.c 库测试该库时,它运行良好。但是,当我在我的iOS项目上运行它时,我得到了一个不匹配的CurlchkszEQ(long, CURL_SIZEOF_LONG)

我认为问题在于 CURL_SIZEOF_LONG 设置为 8,而 iOS 中的 long 设置为 4。

有谁知道我的配置设置出了什么问题?

4

1 回答 1

0

您想为 iOS 交叉编译 libcurl,但这里的问题是您使用clang默认情况下会生成64-bit x86_64目标文件。

换句话说,您需要使用 iOS 工具链 ( xcrun -sdk iphoneos clang),提供正确的架构标志 [1] (例如-arch armv7) 并使用正确的sysroot路径。

我建议你参考:

[1]:您可能想要生成一个针对 ARMv7、ARMv7s 和 i386(模拟器)架构的胖库。

于 2013-07-29T08:27:17.053 回答