Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: phpCoder от Январь 15, 2015, 16:59



Название: Не подключается библиотека
Отправлено: 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 завершился крахом
Что тут не так?


Название: Re: Не подключается библиотека
Отправлено: ksk- от Январь 15, 2015, 17:31
А на чём падает программа?


Название: Re: Не подключается библиотека
Отправлено: gil9red от Январь 15, 2015, 17:31
dll'ки должны лежать в той же папке, что и exe'шник
Если ехе собран как debug, то и dll'ки должны быть тоже дебажные, тоже самое для релизной сборки
Может возникнуть бинарная несовместимость между ехе и dll, если они собраны разными компиляторами

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


Название: Re: Не подключается библиотека
Отправлено: phpCoder от Январь 15, 2015, 17:46
А на чём падает программа?
Дохнет, как на запуск нажмешь. Даже окно не показывается.

Кому не лень. Сделайте проект с libssh и напишите ту строку кода из первого поста. ЕЕ достаточно. Если у вас приложение запустится все как надо, выложите плз проект для рассмотрения.


Название: Re: Не подключается библиотека
Отправлено: Alex Custov от Январь 15, 2015, 22:33
проблема может быть в несовместимом компиляторе, который использовался для компиляции libssh. Выяснить это можно скомпилировав libssh самостоятельно тем компилятором, который идёт в составе инсталлятора Qt.


Название: Re: Не подключается библиотека
Отправлено: phpCoder от Январь 15, 2015, 22:38
И какие файлы компилировать? В скаченном архиве их там тонны, разложенные случайным образом по папкам.