Как использовать libssh в VS10 - PullRequest
10 голосов
/ 20 ноября 2011

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

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

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

Ответы [ 4 ]

14 голосов
/ 02 декабря 2012

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

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

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

Проект -> имя_проекта Свойства: откройте окна со свойствами, затем перейдите -> Свойства конфигурации -> Компоновщик -> Ввод -> Дополнительные зависимости .

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

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

А потом все работало очень хорошо

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

2 голосов
/ 21 ноября 2011

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

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

В этом случае вам необходим

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

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

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

1 голос
/ 21 ноября 2011

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

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

0 голосов
/ 27 апреля 2015

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

...