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

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

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

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


person Saustin    schedule 20.11.2011    source источник
comment
Рекомендуем прочитать следующий заголовок anwser stackoverflow.com/questions/495795/   -  person Harvee    schedule 07.03.2018


Ответы (4)


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

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

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

  • libeay32.dll
  • zlib1.dll

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

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

go to

  • 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, который я рекомендую, вы просто выполните ту же процедуру для lib ssh, просто не забудьте скопировать также файл .exe в папку bin с dll.

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

Свойства Project -> projectName. В открывшемся окне со свойствами перейдите -> Configuration Properties -> Linker -> input -> Additional Dependencies.

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

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

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

Надеюсь, это поможет кому-нибудь заглянуть сюда :)

person Raphael Teubner    schedule 02.12.2012
comment
Спасибо за ваше сообщение; это определенно наиболее полное руководство по libssh, которое я когда-либо видел. - person Saustin; 30.12.2013
comment
@Raphael Teubner Какие libeay32.dll и zlib1.dll используются для libssh? - person John; 05.02.2021
comment
Да, похоже, есть проблема с зависимостями, если они не включены. Просто скомпилируйте без него, проверьте длинный список ошибок зависимостей во время компиляции, и он покажет, что, я думаю, он ему нужен. - person Raphael Teubner; 05.02.2021

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

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

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

необязательно: - libz> = 1.2

  1. Загрузите исходный zip-архив,
  2. создать каталог сборки вне исходного дерева,
  3. start cmake-gui, tweak
    • select source and build dirs
    • нажмите кнопку настроить (например, я выбрал файлы сборки VS2010 Win64)
    • открыть VStudio, настроить и собрать как статическую библиотеку (вместо DLL)

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

person sehe    schedule 20.11.2011
comment
Вот быстрая и грязная статическая сборка I делал с VS2010 на XP64; обратите внимание, что он отключил поддержку LIBZ (потому что я ленив :)), но это может помочь вам начать работу (также была ошибка включения в log.c). Обратите внимание, насколько это быстро и грязно, потому что (а) я не менял имена каталогов, они по-прежнему называются «общими», и я связал образцы приложений со статической библиотекой самым грязным способом. Имейте в виду, что вам все равно необходимо установить openssl. - person sehe; 21.11.2011

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

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

person asn    schedule 21.11.2011

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

person eecs    schedule 27.04.2015