一: 第一种方式自己下载源码编译生成.so 库
安装libssh2之前需要先安装openssl,否则将导致libssh2无法安装
openssl 的下载地址:
https://www.openssl.org/source/
libssh2下载地址:
https://www.libssh2.org/download/
openssl 的下载编译和安装
1.首先下载openssl的tar.gz 压缩包
2.tar zxvf 压缩包名 // 解压
3. 进入解压后的文件夹 执行./config 命令
4.make install 安装
5. locate libssl.so 定位位置
6.如果需要查找头文件所在目录
nm -D /usr/local/lib64/libssl.so // 查找动态库中的所有符号
根据nm 命令的显示找到一个符号进行查找
使用grep -rnw '/usr/include' -e 'SSL_up_ref'
libssh2的下载编译和安装
1.下载 tar.gz 压缩包
2.tar zxvf 压缩包名
3.进入解压生成的文件夹
./configure --prefix=/usr/local/libssh2 --with-openssl
CPPFLAGS="-I/usr/local/include/openssl/" LDFLAGS="-L/usr/local/lib64/"
cppflags 和ldflags 分别是openssl的头文件路径和动态库路径
如果有错误 查看config.log 编译日志 ,我在编译示提示-V 和-version unrecognized ,然后修改configure 中的关于-V 和-version 直接删除,然后执行成功
4.make install
5. locate libssh2.so 定位动态库位置 如果有显示说明成功
!!!!! 以上的操作,编译生成的是64位的动态库,如果是32 位需要重新编译
,我在编译中使用了-m32 编译选项 所以没有成功 即使使用locate libssh2.so 显示
/usr/lib32中有动态库也不行,可能因为是64的缘故,所以没有成功
二: 第二种方式直接下载动态库
apt-get install libssh2-1-dev:i386 // 安装32位
apt-get install libssh2-1-dev // 默认安装与操作系统一直的位数,操作系统64 就是64 否在安装32位