Ios 为Xcode安装OpenSSL库

Ios 为Xcode安装OpenSSL库,ios,xcode,openssl,static-libraries,Ios,Xcode,Openssl,Static Libraries,我已经在xcode中安装了OpenSSL用于收据验证,但它不起作用 我下载了openssl.xcodeproj和openssl-1.0.1f。我提取openssl-1.0.1f并将openssl.xcodeproj添加到我的项目中 我将标题搜索路径编辑为: /Users/marko/Documents/Razvoj/BIView\ Mobile\ New\ Version/openssl/include/openssl 我在构建阶段的目标依赖项中添加了libcrypto.a 并将libc

我已经在xcode中安装了OpenSSL用于收据验证,但它不起作用

我下载了
openssl.xcodeproj
openssl-1.0.1f
。我提取openssl-1.0.1f并将
openssl.xcodeproj
添加到我的项目中

我将
标题搜索路径编辑为:

 /Users/marko/Documents/Razvoj/BIView\ Mobile\ New\ Version/openssl/include/openssl
我在构建阶段的目标依赖项中添加了
libcrypto.a

并将
libcrypto.a
添加到
链接二进制文件与库中

如中所述

但当我构建项目时,它会因错误而停止:

clang: error: no such file or directory: '/Users/ .... -bmgslnakszsfovecplbzoslykrxo/Build/Products/Debug-iphoneos/libcrypto.a'

为什么?

您需要将库添加为框架。请参见以下问题:

可以在框架下添加OpenSSL库。这就是在Apple/Xcode下的工作方式

我使用下图中的绝对路径,因为Crypto++、OpenSSL等安装在
/usr/local
中。下图是我手头的Crypto++屏幕截图,而不是OpenSSL的
libcrypto.a
libssl.a
。但这同样适用于所有图书馆


好的,如何构建和安装它

使用预构建版本的OpenSSL for iOS可能更容易。你可以在这里找到一个。来自该Github的OpenSSL是多拱形的。它们有ARMv7、ARMv7s、ARM64和i386。这意味着他们使用设备和模拟器

下载OpenSSL 1.0.1e或1.0.1f。将其安装在类似于
/usr/local/ssl/ios
的位置

然后,将标题添加到Xcode项目中。它们位于
/usr/local/ssl/ios/include

最后,将多拱lib(
libcrypto.a
libssl.a
)添加到您的Xcode项目中。它们位于
/usr/local/ssl/ios/lib


我的问题的可能重复之处在于我有openSll.xcodeproj和openSll.tar.gz。如果我有openSll.framework,我会知道该怎么做。我不知道openSll.xcodeproj是什么
openssl-1.0.N.tar.gz
是源代码。那是你的吗?如果是这样,您需要解包、构建和安装它。好的,如何构建和安装它。我是新手,如果你能帮助我,我将非常感激。请参阅OpenSSL维基。还有一堆
安装。
自述文件在源代码的根目录中。5秒飞越:
/config;创造一切;sudo make安装
。然后您将在
/usr/local/ssl
中找到它。在终端中,导航到openssl-1.0.N.tar.gz所在的文件并编写脚本。上面写着make:**[links]错误1全部加密/bin/sh:/Applications/Xcode:没有这样的文件或目录:**[build\u crypto]错误1密码:我不知道我应该写哪个密码。in
/usr/local/
我有地图:bin等,包括lib、man、Qt、sbin、share、textlive。您的意思是创建名为
ssl
的新文件,但是libcrypto.a和libssl.a将不存在。请执行
mkdir-p/usr/local/ssl/ios
。然后您将拥有它。mkdir:/usr/local/ssl/ios:Permission deniedI如果您能告诉我如何从.tar.gz生成.a或.framework,我会非常高兴,因为在那之后我有了另一个lib-te摘录(asn1c.tar.gz):但是在这个领域(通常是终端)我没有太多的经验,所以要耐心,慢慢来。非常感谢您抽出时间。请参阅iOS tarball提供的各种脚本。这就是我用来建造它们的
buildall.sh
为特定平台依次调用其他脚本。其他脚本设置环境,然后调用
config
make
,等等。您的里程数可能因
asn1c.tar.gz
而异。