Как использовать libssh в VS10

Как я могу реализовать libssh как библиотеку, которую узнает мой компилятор? Я использую Visual Studio 2010 С++, и я включил библиотеку Boost без проблем, но процесс, который я сделал с Boost, странный, я могу сказать, что libssh будет другим.

Я действительно не хочу делать DLL файл, я хочу один исполняемый файл, однако я знаю, что DLL файлы могут быть встроены в исполняемые файлы через скрипты .rc. (Затем извлеките и загрузите)

Мне никогда не приходилось включать библиотеку, кроме Boost, в любой из моих проектов, я чувствую, что я действительно должен знать, как это сделать. Обратите внимание, что это libssh not libssh2. Спасибо.

Ответ 1

Даже если сообщение старое, у меня есть ответ, возможно, это может быть полезно для кого-то, кто уходит сюда.

Чтобы реализовать libssh в Visual Studio 2010.

Вам понадобится больше, чем одна библиотека, вам нужно 3, чтобы убедиться, что все будет хорошо скомпилировано. Сначала загрузите последнюю версию libssh После этого вам понадобится еще 2 dll, чтобы разрешить компиляцию без проблем:

  • libeay32.dll
  • zlib1.dll

Для первого он не очень хорошо меня понял, поэтому я просто взял полную библиотеку openssl openssl-0.9.8k_WIN32.zip

После того, как вы загрузили эти файлы, поместите их в нужное место в Visual Studio.

перейдите к

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

Чтобы открыть визуальную студию для языка C → VC Тогда:

  • Скопируйте папку с помощью C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include вставьте папку libssh\include (содержащую все .h файл)
  • Скопируйте файл ssh.lib в C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib
  • Скопировать ssh.dll C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin

Скопируйте файлы libeay32.dll и zlib1.dll в папку bin. Или, если вы скачали openssl, который я рекомендую, вы просто делаете то же самое, что и proc для lib ssh, просто не забудьте скопировать также .exe файл в папку bin с dll.

Это еще не закончено, после этого вам нужно будет связать библиотеки с компилятором вашего проекта.

Проект → имя_проекта открывает окна с свойствами, а затем → Свойства конфигурации → Linker → input → Additional Dependencies.

Теперь добавьте следующие библиотеки в зависимости

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

И тогда он работал очень хорошо

Я надеюсь, что это может помочь кому-то уйти сюда:)

Ответ 2

Стандартный установщик Windows не поставляется со статическими библиотеками.

ВАЖНО В любом случае вы получите динамическую связь openssl (zlib опционально). Вы действительно хотите этого?

Если вы это сделаете, вам нужно

дополнительно:  - libz >= 1.2

  • Загрузите исходный zip,
  • создать каталог сборки out-of-sourcetree,
  • начать cmake-gui, настроить
    • выберите источник и постройте dirs
    • нажмите configure (например, я выбрал файлы сборки VS2010 Win64)
    • открыть VStudio, настроить и построить как статическую библиотеку (вместо DLL)

Надеюсь, это поможет вам начать работу.

Ответ 3

Вы можете легко создать статическую библиотеку в Windows. Просто установите WITH_STATIC_LIB в положение ON во время шага настройки cmake.

ПРИМЕЧАНИЕ. libssh лицензируется под LGPL.

Ответ 4

Кроме того, не забудьте использовать версию libssh версии 0.5 или старше для создания приложения VS2010, поскольку новые версии libssh нуждаются в VS2012.