![]() |
|
![]() ![]() ![]() |
|
Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Всем привет!
Подскажите пожалуйста как подключить к проекту на Qt библиотеку dll? Заранее спасибо! |
|||
|
||||
Acer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 5.9.2007 Где: UA::DN Репутация: 15 Всего: 8 |
Например так:
в *.pro файле пишем
Добавлено через 1 минуту и 28 секунд А если пишешь в MSVS, то там в свойствах проекта указываешь *.lib файл библиотеки, которую нужно линковать |
|||
|
||||
ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
Если честно не совсем понятно что значит подключить dll библиотеку, есть такой замечательный класс для вызова функций из длл
QLibrary вот пример из ассистента
Это сообщение отредактировал(а) ecspertiza - 19.9.2009, 23:18 |
|||
|
||||
Elfet |
|
||||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
ecspertiza, я создал проект в QCreator который у них называется "Библиотека С++". Так как вот теперь мне воспользоваться этой библиотекой?
![]() Добавлено через 9 минут и 31 секунду В проекте "библиотека С++" объявляются какие-то глобальные штуки:
Как с этим работать? |
||||
|
|||||
ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
Я так понимаю, что ты хочешь работать с классом SmartFlowLib ?
то можно почитать тут http://www.prog.org.ru/topic_8259_0.html |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
Elfet, ты в начале темы спрашивал, как подключить DLL к проекту. Ответа два:
1. Если нужна жесткая привязка к DLL (т.е. без нее нельзя запускать), то ответ дал Acer 2. Если нужна опциональная возможность загрузки (типа плагина), то ответ дал ecspertiza. 3. Если тебе нужно написать плагин, то в документации Qt есть отдельная тема по этому поводу. |
|||
|
||||
Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
bsa, мне нужна жёсткая привязка. Я написал LIBS += ... однако не могу понять как воспользоваться теперь моим классом (SmartFlowLob)
ecspertiza, ооо! спасибо то что нужно! ![]() |
|||
|
||||
ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
А в LIBS не забыл длл-ку подключить?
|
|||
|
||||
Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
ecspertiza, всё вроде заработало, спасибо
![]() |
|||
|
||||
Elfet |
|
||||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
А так и должно быть, что подключая к проекту библиотеку:
Я должен подключать так же теже библиотеки которые используются в ней:
Получается я в самой библиотеке (SmartFlowLib) подключаю libboost_serialization-mgw34-s-1_40.lib, и в самом приложении, которое подключает SmartFlowLib подключаю libboost_serialization-mgw34-s-1_40.lib. Так и должно быть? |
||||
|
|||||
ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
Я так думаю что скорее всего да, так и должно быть я просто из одной либы другу не подключал, но если проект для сборки этого требует, то скорее всего так и должно быть
![]() |
|||
|
||||
korbian |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 336 Регистрация: 20.2.2007 Где: Penza Репутация: 1 Всего: 14 |
Elfet, по идее это должно быть верным только для статических библиотек. -------------------- korbian © |
|||
|
||||
Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
korbian, видимо я статическую библиотеку сделал? Нужно её динамической сделать?
|
|||
|
||||
korbian |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 336 Регистрация: 20.2.2007 Где: Penza Репутация: 1 Всего: 14 |
все зависит от дизайна твоего продукта. если предполагается ее использование более чем в одном программном модуле в пределах системы, то логично сделать библиотеку динамически подключаемой. -------------------- korbian © |
|||
|
||||
Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
korbian, да, я для библиотеки хочу сделать два интерфейса - графический и из командной строки.
Как сделать такую библиотеку? |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |