mingw编译libssh2

How to Compile libssh2 for Windows with MinGW

libssh2 is a client-side C library implementing the SSH2 protocol, according to the definition on libssh2.org. I am compiling libssh2 because it enables me to build applications for transferring files securely between Unix/Linux sites and Windows machines. Although there seems to be a way to build libssh2 with Visual Studio, this post focuses on using MinGW. If you haven't set up MinGW yet, just follow one of these posts on how to install MinGW.

  • To install MinGW from mingw.org
  • To set up Cygwin with MinGW toolchain

First, I compiled zlib. I downloaded zlib source code from zlib.net, unpack the tarball, and typed the following commands:

make -f win32/Makefile.gcc
make install -f win32/Makefile.gcc BINARY_PATH=/mingw/bin INCLUDE_PATH=/mingw/include LIBRARY_PATH=/mingw/lib

Then, I compiled OpenSSL as shown in this post. For your information, libgcrypt can be used instead of OpenSSL (See this post). I typed the following commands to build OpenSSL.

./Configure -DHAVE_STRUCT_TIMESPEC -L/mingw/lib -lz -lws2_32 --prefix=/mingw zlib mingw
make
make install

I downloaded the latest libssh2 tarball from libssh2.org and unpacked it. I typed theconfigure as follows:

./configure --prefix=/mingw --with-libz --with-openssl --disable-examples-build

Then, I typed make.

make
make install

Somehow, only the static library was generated, but that's okay. I think that's because openssl was only compiled statically.


你可能感兴趣的:(mingw编译libssh2)