linux编译32位openssl和libssh2

linux编译32位openssl和libssh2最近要写一个sftp上下载的功能,要用的libssh2,这里我直接用的现成的压缩包,openssl为openssl-1.0.2l.tar.gz,libssh2为libssh2-1.8.0.tar.gz,这里做一个简单的记录首先编译openssl,手头的工作机为64位centos,由于

大家好,欢迎来到IT知识分享网。

最近要写一个sftp上下载的功能, 要用的libssh2, 这里我直接用的现成的压缩包, openssl为openssl-1.0.2l.tar.gz, libssh2为libssh2-1.8.0.tar.gz, 这里做一个简单的记录

首先编译openssl, 手头的工作机为64位centos, 由于工作需要, 我需要编译32位的库, openssl编译流程如下

$ cd openssl-1.0.2l

$ ./Configure --prefix=$(HOME)/lib_lnx_32/openssl -m32 386 shared no-asm linux-generic32

$ make

$ make test

$ make install

解释一下上述流程

1. 首先进入解压后的openssl目录

2. 执行openssl自带的Configure脚本来生成Makefile, 这里我添加了配置选项

–prefix指定了安装路径

-m32编译32位程序(这里如果是aix环境, 则用-maix32)

386指示兼容32位cpu

shared意为要编译动态库版本

no-asm不使用汇编代码

linux-generic32表明统一编译环境32位的linux

以上这些命令可以在INSTALL说明文件中看到详细的解释

3. make编译源代码

4. make test进行测试, 检查是否有错误

5. make install将相关头文件,库文件等安装到prefix指定的目录中

这里贴一下Configure -h给出的配置帮助文档, 我用到的配置命令红标出来了

 linux编译32位openssl和libssh2

 

接下来是libssh2的安装

$ cd libssh2-1.8.0

$ export CFLAGS=-m32

$ export CPPFLAGS=-m32
$ ./configure --build=i386 --enable-shared --disable-examples-build --enable-static --prefix=$(HOME)/lib_lnx_32/libssh2 --with-openssl CPPFLAGS="-I$(HOME)/lib_lnx_32/openssl/include" LDFLAGS="-L$(HOME)/lib_lnx_32/openssl/lib"

$ make

$ make install

1. 首先进入libssh2的目录

2.这里导出一下CFLAGS和CPPFLAGS两个编译符号(这里如果是aix环境, 导出-maix32), 之后执行脚本时会自动配置成32位输出

3. 执行configure脚本配置makefile, 对应添加了相关配置选项, 此处我只编译了静态库

–build指明编译环境(aix似乎直接填对应版本就行了, 比如aix5, aix9等)

–enable-shared指明编译动态库

–disable-examples-build指明不编译例子

–enable-static指明编译静态库

–prefix指定安装路径

–with-openssl指示使用openssl

CPPFLAGS指定了openssl头文件的目录

LDFLAGS指定了openssl库目录

4. 将输出的库和头文件等内容拷贝到prefix目录

这里同样贴一下configure -h给出的配置帮助文档, 用到的配置命令同样红标出来了

linux编译32位openssl和libssh2

linux编译32位openssl和libssh2

linux编译32位openssl和libssh2

 

总结一下:如果不在乎32,64, 而且只是本机使用的话, 编译起来其实挺无脑的, 但是对32位有要求的情况下, 可以使用./configure -h看一下相关选项

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/30791.html

(0)
上一篇 2023-10-22 19:33
下一篇 2023-10-27 15:15

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信