Russian Qt Forum

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



Название: Как подключить библиотеку к Qt 5.4?
Отправлено: phpCoder от Январь 15, 2015, 19:34
Добрый вечер.
Есть библиотека, которая состоит из:
1. Файл .dll
2. Файл .a
3. Файлы .h

Куда их пихать, чтобы они заработали?
Версия Qt 5.4.

Вот надо подключить библиотеку к проекту. Ваши действия?


Название: Re: Как подключить библиотеку к Qt 5.4?
Отправлено: gil9red от Январь 15, 2015, 21:05
Самое простое: через диалог
Правой кнопкой по проекту и выбираете Добавить библиотеку, потом выбираете Внешнюю, и файл библиотеки будет *.a, путь к заголовочному будет *.h
после чего все что нужно добавится в pro файл (так что можно и без диалога добавить, если приноровиться)
dll помещаете в папку с ехе


Название: Re: Как подключить библиотеку к Qt 5.4?
Отправлено: phpCoder от Январь 15, 2015, 21:37
libssh так не подключается. Попробуйте ее скачать и установить в проект, написав пару строчек кода из libssh.
У меня приложение для запускаться не хочет.


Название: Re: Как подключить библиотеку к Qt 5.4?
Отправлено: kuzulis от Январь 15, 2015, 22:32
http://www.prog.org.ru/topic_26558_0.html - тут наш буквоежка все по-буковкам разложил. :)

Цитировать
Есть библиотека, которая состоит из:
1. Файл .dll
2. Файл .a
3. Файлы .h

1. Файл .dll - скопировать в Release или Debug (т.е. туда, куда екзешкаприложения будет компилиться)
2. Файл .a - прописать путь к нему в LIBS += -L/path/to/lib/a -lssh
3. Файлы .h - делать include <libssh.h>, а также возможно прописать в INCLUDEPATH +=

PS: Если использовать QBS - то там все намного проще делается.


Название: Re: Как подключить библиотеку к Qt 5.4?
Отправлено: phpCoder от Январь 15, 2015, 22:40
Хорошо, как подключить libssh?


Название: Re: Как подключить библиотеку к Qt 5.4?
Отправлено: kuzulis от Январь 15, 2015, 22:42
 >:( почитай - ка лучше теорию.

Цитировать
Хорошо, как подключить libssh?
Файл .a - прописать путь к нему в LIBS += -L/path/to/lib/a -lssh

или

Код:
LIBPATH += /path/to/lib/a (директория где лежит libssh.a или другие *.a)
LIBS += -lssh (сама libssh.а)

это позволит твоему приложению скомпилиться (подключить библиотеку).

А саму libssh.dll нужно скопировать рядом с экзешником или в /system32 или
куда-то еще но в env в PATH указать путь где она лежит - это позволит твоему
приложению запуститься и подгрузить libssh.dll.


Название: Re: Как подключить библиотеку к Qt 5.4?
Отправлено: Igors от Январь 16, 2015, 10:47
libssh так не подключается. Попробуйте ее скачать и установить в проект,
Ну хорошо, вот допустим я хочу Вам помочь. Захожу https://www.libssh.org/get-it/ (https://www.libssh.org/get-it/), там N download'ов. Под какую платформу Вам надо - хз. Наверное под Вындоуз, но там тоже выбор под какой компилятор - это Вы тоже не сообщили.

..написав пару строчек кода из libssh.
Откуда я их возьму если никогда не слышал об этой либе? Выложите тестовый проект (еще лучше вместе с либами)

У меня приложение для запускаться не хочет.
"Давайте все мне помогать" :) Хотите более конкретных ответов - попробуйте задать более конкретный вопрос, подкрепив его проектом. А бегать-искать-выяснять для Вас никто не будет


Название: Re: Как подключить библиотеку к Qt 5.4?
Отправлено: phpCoder от Январь 16, 2015, 11:25
Ах вам проект захотелось?
Во вложении по частям. Файл test1.z01.zip нужно переименовать обратно в test1.z01, а то форум отказывается прикреплять его к сообщению.

Цитировать
Ну хорошо, вот допустим я хочу Вам помочь. Захожу https://www.libssh.org/get-it/, там N download'ов. Под какую платформу Вам надо - хз. Наверное под Вындоуз, но там тоже выбор под какой компилятор - это Вы тоже не сообщили.
Качать, если что, нужно для виндеца любой архив последней версии. Главное, чтобы его можно было распаковать. Компилятор не знаю - пусть МинГВ. Он к Qt прилагается.


Название: Re: Как подключить библиотеку к Qt 5.4?
Отправлено: phpCoder от Январь 16, 2015, 11:26
Вторая часть.


Название: Re: Как подключить библиотеку к Qt 5.4?
Отправлено: kambala от Январь 16, 2015, 13:42
Качать, если что, нужно для виндеца любой архив последней версии. Главное, чтобы его можно было распаковать. Компилятор не знаю
у меня всё


Название: Re: Как подключить библиотеку к Qt 5.4?
Отправлено: Igors от Январь 16, 2015, 13:59
На Вындоуз я работаю с MSVC 2012. Там все собралось и запустилось с пол-пинка: окно открывается, new возвращает ненулевой указатель. Правда он просил libz.dll - ну я ему дал.

На QtCreator - да, крашится, но надо ставить отладчик. Ну попробую поставить, если получится - посмотрю дальше


Название: Re: Как подключить библиотеку к Qt 5.4?
Отправлено: phpCoder от Январь 16, 2015, 14:01
Ну рад, если поможете с QtCreator.


Название: Re: Как подключить библиотеку к Qt 5.4?
Отправлено: Igors от Январь 16, 2015, 14:26
Так, поставил отладчик. Ну тоже все норм, запускается и указатель ненулевой. Просто толкаете exe-шник из explorer'а, он вякает какой dll-ки не находит, копируете ее рядом с exe - и так пока не запустится. Тут скорее проблема Creator'а - не нашел dll и молчит, падла, как рыба. Ну то уже пусть советуют кто с ним работает

В общем, проблемы-то никакой нет, так, понты колотите по-пустому  :)


Название: Re: Как подключить библиотеку к Qt 5.4?
Отправлено: phpCoder от Январь 16, 2015, 14:46
А Qlibrary поможет?


Название: Re: Как подключить библиотеку к Qt 5.4?
Отправлено: Igors от Январь 16, 2015, 17:21
А Qlibrary поможет?
Та до чого тут Qlibrary ??? У Вас просто-напросто не хватает нужных dll по путям загрузки, вот и все


Название: Re: Как подключить библиотеку к Qt 5.4?
Отправлено: phpCoder от Январь 16, 2015, 18:38
И где и как эти пути писать? Все что кнопка "Добавить библиотеку" предлагает, я вставляю.


Название: Re: Как подключить библиотеку к Qt 5.4?
Отправлено: Igors от Январь 16, 2015, 19:06
И где и как эти пути писать? Все что кнопка "Добавить библиотеку" предлагает, я вставляю.
Это все если (до тех пор пока) "не собирается", а Вы exe-шник уже получили. Но остаются внешние зависимости, напр libssh.dll зависит от libz.dll, если ее нет - не запустится

Просто толкаете exe-шник из explorer'а, он вякает какой dll-ки не находит, копируете ее рядом с exe - и так пока не запустится.