如何从源代码构建iOS的libssl.a?

时间:2014-03-20 15:42:33

标签: ios xcode gcc openssl libssl

我在xcode 5中有一个引用libSSL.a的项目,所以我尝试自己构建它。 make命令的错误消息是这样的: enter image description here

我做了什么:

1,下载并安装命令行工具(从here下载)

2,从openssl.net4509212 Jan 6 15:39:19 2014 openssl-1.0.1f.tar.gz (MD5) (SHA1) (PGP sign) [LATEST]

下载源代码

3,将文件crypto/ui/ui_openssl.cstatic volatile sig_atomic_t intr_signal;更改为static volatile int intr_signal;

4,用命令制作Dirs:

mkdir ssllibs
cd openssl-1.0.0a
mkdir openssl_armv6 openssl_armv7 openssl_i386

5,配置: ./configure BSD-generic32 --openssldir=/Users/ccnyou/openssl-1.0.0a/openssl_i386 6,修改MakefileCC= gcc改为CC= gcc -arch i386 7,在CFLAG之后添加此项 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.0.sdk (这里可能错了) 8,make,只是收到我上面提到的错误消息。

我想知道这是否是铿锵声和ar的兼容性问题? 如何构建libssl.a? 对于那些给我建议的人,我将不胜感激。

2 个答案:

答案 0 :(得分:1)

我鼓励您在项目中使用Cocoapods,然后您可以轻松使用pod 'OpenSSL-Universal'将OpenSSL链接起来。

如果您想自己构建它,请查看此脚本https://github.com/krzak/OpenSSL/blob/master/build.sh,它可能会对您有所帮助。

答案 1 :(得分:0)

  

我做了什么:1,下载并安装命令行工具(下载   从这里)2,从openssl.net下载源代码,4509212 1月6日   2014年15:39:19 openssl-1.0.1f.tar.gz(MD5)(SHA1)(PGP标志)[最新]   3,从静态volatile更改文件crypto / ui / ui_openssl.c   sig_atomic_t intr_signal; to static volatile int intr_signal; 4,制作   Dirs with command:...

OpenSSL提供了构建iOS的说明。这些说明包括一个构建脚本来设置environemnt,以便设置正确的目标。您可以在OpenSSL FIPS User Guide 2.0附录E.2中找到相关说明。

如果您不想查看分步指南,请试用this Github account。它为OpenSSL 1.0.1e和1.0.1f预装了适用于iOS 6.0和7.0(Arch ARMv7,ARMv7s,i386和ARM64)的OpenSSL。 Github产品还提供了设置环境的脚本。

(对于链接答案感到抱歉。没有办法将所有信息消化成几段)。