注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Mihooke's blog

IT之恋

 
 
 

日志

 
 

Mac下编译openssl库文件  

2015-01-15 21:20:59|  分类: Mac |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Mac下编译openssl库文件

准备工作:XcodeStuffit Expender解压工具(需要到APP Store中下载)、openssl-1.0.1g(里面的INSTALL帮助文档很重要很详细)、openssl-fips-2.0.5

Mac OS桌面下新建个文件夹,把解压好的openssl-1.0.1g 放进去,接下来重点步骤来了:


1、openssl-1.0.1g/MacOS/目录下的两个文件mklinks.as.hqxOpenSSL.mcp.hqx.hqx文件是Mac下的十六进制压缩文件)用Expender解压,只需要拖着这两个文件到Expender图标上即可,之后会蹦出窗口,把解压后的两个文件移到MacOS下就行了。

2、修改三个.c文件,分别是openssl-1.0.1g/test/目录下的jpaketest.crc5test.cmd2test.c,把这三个文件中的

dummtest.c

改为

#include “dummtest.c”

3、可以开始编译了,首先进入openssl-1.0.1g目录下,使用  ./config指令:(这是对make指令做的配置准备工作)

./Configure  darwin-i386-cc  --prefix=/User/M/Desktop/open6/lib32

意思是,用32bits工具darwin-i386-cc编译,并把编译后的库文件放到指定的lib32文件夹下。OK,接下来运行:

make

make会花数分钟的时间,

接着,可以使用:

make test   去测试看是否make successfully(如果成功,则会显示ALL TESTS SUCCESSFULLY

 

最后一步,运行make  install_sw。(网上很多教程写的都是make install,我试了下,这样根本不会成功,然后去查看INSTALL帮助文档,发现运行install_sw才是安装的)。

之后我们再去查看open6文件夹下,就会发现在一个叫lib的文件夹下会有libcrypto.alibssl.alibcrypto.dyliblibssl.dylib(分别是静态库和动态库)。

Mac下编译openssl库文件 - mihooke - mihooke的博客
Mac下编译openssl库文件 - mihooke - mihooke的博客

  

Mac下编译openssl库文件 - mihooke - mihooke的博客

 Mac下编译openssl库文件 - mihooke - mihooke的博客
 Mac下编译openssl库文件 - mihooke - mihooke的博客
 

以上步骤是编译32bits的库文件,如果要编译64bits的库文件,只需要把步骤3开始的配置命令改为:

./Configure  darwin64-x86_64-cc --shared --prefix=/User/M/Desktop/open6/lib64


就行了。

 

有人要问,文章一开始不是说要准备工具openssl-fips-2.0.5么,怎么没用到呢?别急,上面的是一种方法,用openssl-fips-2.0.5编译也是一种方法。

Mac下编译openssl库文件 - mihooke - mihooke的博客

 

1、首先把两个工具放到同一个文件夹下,

进入openssl-fips-2.0.5目录下分别执行以下命令:

./config

make

make install

再进入openssl-1.0.1g目录下,执行:

./Configure  darwin64-x86_64-cc --shared --prefix=/User/M/Desktop/open6/lib64

就是这么简单,不过目录虽简单,但是生成的库文件需要我们自己去找啊,它在

/usr/local/ssl/lib下(local目录是在make过程中生成的)

这样生成的库文件照样可以使用,不过我试了下,这样编译的库文件只是32bits的,没办法得到64bits的。

可以看到上面两种方法的不同所在,便是配置命令的使用不一样,一个是config,一个Configureconfig只能编译32bits的库文件,而Configure后面参数中可以带32bits64bits的工具来进行编译。

Mac下编译openssl库文件 - mihooke - mihooke的博客

最终我们要在Xcode中引用这两个库文件,引用操作是:

点击project名字,在右侧出现的栏里点击Build Phases--->Link Binary With Librarys的小加号,弹出的窗口点击Add Other...选择编译好的库文件就行了。

Mac下编译openssl库文件 - mihooke - mihooke的博客

 

注意:编译32bits64bits时候,选择对应的Architecture是必须的,否则会出现如下的error

Mac下编译openssl库文件 - mihooke - mihooke的博客

 

 

 

  评论这张
 
阅读(183)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017