Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use libssh in VS10

How can I implement libssh as a library my compiler will recognize? I'm using Visual Studio 2010 C++, and I've included the Boost library with no problems, but the process I did with Boost is strange, I can tell libssh will be different.

I really don't want to do a DLL file, I want one executable, however I know that DLL files can be embedded inside of executables through .rc scripting. (Then extract and load)

I've never had to include a library except for Boost into any of my projects, I feel like I should really know how to do this. Please note this is libssh not libssh2. Thanks.

like image 788
Saustin Avatar asked Nov 20 '11 19:11

Saustin


2 Answers

Even if the post is old i have an answer, maybe it can be helpful for someone dropping here.

To implement libssh into Visual Studio 2010.

You will need more than just one library you will need 3 to be sure everything will compile well. First download the last version of libssh After this you will need 2 more dll, to be allow to compile without issue:

  • libeay32.dll
  • zlib1.dll

For the first one it wasn't recognize very well for me, so i just took the full library of openssl openssl-0.9.8k_WIN32.zip

After you have dowloaded those files place them into the rigth place in Visual studio.

go to

  • C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC

To open the visual studio for the language C -> VC Then :

  • Copy the folder with the include in C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include paste the folder libssh\include (containing all .h file)
  • Copy the file ssh.lib into C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib
  • Copy ssh.dll C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin

Copy libeay32.dll and zlib1.dll into the bin folder. Or if you downloaded openssl which I recommend then you just do the same proces ass for lib ssh just dont forget to copy also the .exe file into the bin folder with the dll.

It is not finished yet after that you'll have to link the libraries into the compiler of your project.

Project -> projectName properties a windows open with properties then go -> Configuration Properties -> Linker -> input -> Additional Dependencies.

Now add the following libraries into the dependencies

;ssh.lib;ssleay32.lib;libeay32.lib;

And then it was working very well

I hope that it can help someone dropping by here :)

like image 121
Raphael Teubner Avatar answered Oct 24 '22 15:10

Raphael Teubner


The standard windows installer does not come with static libs.

IMPORTANT You'll end up with openssl dynamically linked (zlib optionally) anyway. Are you sure you want this?

In case you do, you need

  • A C compiler
  • CMake >= 2.6.0.
  • openssl >= 0.9.8 or
  • gcrypt >= 1.4

optional: - libz >= 1.2

  1. Download the source zip,
  2. create an out-of-sourcetree build directory,
  3. start cmake-gui, tweak
    • select source and build dirs
    • click configure (e.g. I chose VS2010 Win64 build files)
    • open VStudio, tweak and build as static library (instead of DLL)

Hope this will help you get started.

like image 20
sehe Avatar answered Oct 24 '22 15:10

sehe