为iOS构建基于c的静态库

时间:2013-07-29 05:05:55

标签: ios static-libraries libcurl

我的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中的长度设置为4。

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

1 个答案:

答案 0 :(得分:0)

你想交叉编译libcurl for iOS,但问题是你使用clang默认生成64-bit x86_64个目标文件。

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

我建议你参考:

[1]:您可能希望生成一个针对ARMv7,ARMv7和i386(模拟器)体系结构的胖库。