linux sftp客户端安装与使用。
需要下载Openssl源码和Libssh2源码。
下载路径添加链接描述
交叉编译openssl:
1、
./config no-asm shared no-async --prefix=/home/crb/ipc_test/prebuild/depend/openssl --cross-compile-prefix=/opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin/arm-hisiv300-linux-
–prefix=/home/crb/ipc_test/prebuild/depend/openssl
指定要安装的目录,生成的库也是放在这边的。
–cross-compile-prefix=/opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin/arm-hisiv300-linux-
指定交叉编译器。
2、
修改生成的Makefile
把Makefile里面的所有“-m64”全部删除。
3、make;make install
交叉编译Libssh2:
1、
./configure --prefix=/home/crb/ipc_test/prebuild/tmp/libssh2 --with-libssl-prefix=/home/crb/ipc_test/prebuild/depend/openssl LDFLAGS=-L/home/crb/ipc_test/prebuild/depend/openssl/lib --with-libgcrypt-prefix=/home/crb/ipc_test/prebuild/depend/openssl --disable-examples-build --host=arm-linux CC=arm-hisiv300-linux-gcc
(可用./configure --help看下各个参数的作用)
–prefix=/home/crb/ipc_test/prebuild/tmp/libssh2
指定要安装的目录,生成的库也是放在这边的。
-with-libssl-prefix=/home/crb/ipc_test/prebuild/depend/openssl
指定要依赖的openssl库。
–with-libgcrypt-prefix=/home/crb/ipc_test/prebuild/depend/openssl
指定要依赖的gcrypt库。一般这个库也是openssl源码编译生成的。
–disable-examples-build
这个要指定,不然会出错。
2、make;make install
注意点 :
如果make出现很多异常
…/src/.libs/libssh2.so: undefined reference to `EVP_MD_CTX_free@OPENSSL_1_1_0’
之类的,可以在配置时,加上 LIBS="-ldl -lssl -lcrypto"
不小心把openssl生成的.a放到了运行时会用到的/lib下,导致函数libssh2_session_handshake一直段错误。