Russian Qt Forum
Ноябрь 23, 2024, 10:09 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Не подключается библиотека  (Прочитано 4361 раз)
phpCoder
Гость
« : Январь 15, 2015, 16:59 »

Друзья, помогите с подключением библиотеки. Это обычно для Qt (5.4) тяжелый случай.

1. Итак, скачал зип архив библиотеки libssh с офф. сайта.
2. В папке проекта на уровне папок Debug и Release создал папку libssh.
3. В эту папку положил следующие скачанные файлы: две dll из папки bin; все заголовочные файлы .h из папки include/libssh; два файла библиотеки .a из папки lib.
4. В проекте в .pro файле тыкнул ПКМ и выбрал подключить библиотеку: внешняя + динамическая связка + windows. В итоге в этот файл добавились эти строки:
Код
C++ (Qt)
win32: LIBS += -L$$PWD/libssh/ -llibssh
 
INCLUDEPATH += $$PWD/libssh
DEPENDPATH += $$PWD/libssh
 
5. Где нужно в проекте добавил:
Код
C++ (Qt)
#include "libssh/libssh.h"
6. Написал строку кода:
Код
C++ (Qt)
ssh_session ssh = ssh_new();

Запустил сборку. Итог:
Код:
Запускается D:\Documents\Qt\qwerty\Debug\debug\qwerty.exe...
Программа неожиданно завершилась.
D:\Documents\Qt\qwerty\Debug\debug\qwerty.exe завершился крахом
Что тут не так?
Записан
ksk-
Самовар
**
Offline Offline

Сообщений: 178



Просмотр профиля
« Ответ #1 : Январь 15, 2015, 17:31 »

А на чём падает программа?
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #2 : Январь 15, 2015, 17:31 »

dll'ки должны лежать в той же папке, что и exe'шник
Если ехе собран как debug, то и dll'ки должны быть тоже дебажные, тоже самое для релизной сборки
Может возникнуть бинарная несовместимость между ехе и dll, если они собраны разными компиляторами

Поправьте, пожалуйста, если ошибся / напутал (конец рабочего дня) Улыбающийся
Записан

phpCoder
Гость
« Ответ #3 : Январь 15, 2015, 17:46 »

А на чём падает программа?
Дохнет, как на запуск нажмешь. Даже окно не показывается.

Кому не лень. Сделайте проект с libssh и напишите ту строку кода из первого поста. ЕЕ достаточно. Если у вас приложение запустится все как надо, выложите плз проект для рассмотрения.
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #4 : Январь 15, 2015, 22:33 »

проблема может быть в несовместимом компиляторе, который использовался для компиляции libssh. Выяснить это можно скомпилировав libssh самостоятельно тем компилятором, который идёт в составе инсталлятора Qt.
Записан
phpCoder
Гость
« Ответ #5 : Январь 15, 2015, 22:38 »

И какие файлы компилировать? В скаченном архиве их там тонны, разложенные случайным образом по папкам.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.181 секунд. Запросов: 23.