Название: Почему не подключается dll к проекту?(Qt Creator) Отправлено: G-virus от Июнь 17, 2010, 01:19 Привет всем. Помогите пожалуйста, возникла такая проблема. Прочел на форуме, что dll подключается так
project.pro Код
Но почему-то при компиляции эта библа не обнаруживается. Хотя она лежит в папке с проектом. Что нужно сделать? :) Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: BaltikS от Июнь 17, 2010, 05:54 Так линкуется LIB к проекту, а DLL используется программой в процессе выполнения.
Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: G-virus от Июнь 17, 2010, 12:12 Так линкуется LIB к проекту, а DLL используется программой в процессе выполнения. А как мне дать знать программе, какую dll нужно использовать? в MS Visual Studio в референсах надо было указывать библу, а тут как? Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: lit-uriy от Июнь 17, 2010, 12:45 >>надо было указывать библу
что за "библу"? Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: G-virus от Июнь 17, 2010, 12:47 Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: lit-uriy от Июнь 17, 2010, 12:52 если нет файла с расширением .a, то нет смысла указывать библиотеку в pro-файле. Если есть то нужно указать:
LIBS += -lname # libname.a LIBS += -Lpath/to/lib # тут путь к ней ну и INCLUDEPATH не забудь указать Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: G-virus от Июнь 17, 2010, 12:54 если нет файла с расширением .a, то нет смысла указывать библиотеку в pro-файле. Если есть то нужно указать: LIBS += -lname # libname.a LIBS += -Lpath/to/lib # тут путь к ней ну и INCLUDEPATH не забудь указать в том-то и дело, что есть только сама dll-ка и больше ничего :) Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: lit-uriy от Июнь 17, 2010, 12:56 если я правильно понимаю, то тогда нужно использовать QLibraryLoader
Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: G-virus от Июнь 17, 2010, 13:15 если я правильно понимаю, то тогда нужно использовать QLibraryLoader Сделал так:Код
Всегда вылетает "Library is not loaded" ??? Пробол и полное имя указывать, и agsXMPP и agsXMPP.dll и все равно никак Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: BaltikS от Июнь 17, 2010, 14:05 1) возможно в пути не указано .DLL
2) можно попробовать QApplication::addLibraryPath Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: G-virus от Июнь 17, 2010, 15:16 1) возможно в пути не указано .DLL Указывал, все равно не подключает.2) можно попробовать QApplication::addLibraryPath А какая принципиальная разница между этими способами? :) Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: kuzulis от Июнь 17, 2010, 15:46 Цитировать Указывал, все равно не подключает. Значит библиотека кривая :) Попробуйте создать какой нибудь тестовый пример и подключить какую нибудь реально рабочую DLL-ку типа из "c:\WINDOWS\system32\*.dll" Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: lit-uriy от Июнь 17, 2010, 16:00 QLibrary::errorString() что говорит?
Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: G-virus от Июнь 17, 2010, 18:21 Значит библиотека кривая :) Судя по всему вы правы, потому что winmm.dll подключилась. Но дело в том, что agsXMPP.dll врядли кривая, т.к. в студии она подключалась :) QLibrary::errorString() что говорит? Вот: http://dl.getdropbox.com/u/6052533/screen.jpg Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: kuzulis от Июнь 17, 2010, 18:34 Цитировать Судя по всему вы правы, потому что winmm.dll подключилась. Но дело в том, что agsXMPP.dll врядли кривая, т.к. в студии она подключалась А проект компилите MinGW или VS компилятором? Если MinGW - то может не подключаться.. Вроде. Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: G-virus от Июнь 17, 2010, 18:47 Цитировать Судя по всему вы правы, потому что winmm.dll подключилась. Но дело в том, что agsXMPP.dll врядли кривая, т.к. в студии она подключалась А проект компилите MinGW или VS компилятором? Если MinGW - то может не подключаться.. Вроде. Ну в Qt Creator да, я mingw компилирую :) Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: lit-uriy от Июнь 17, 2010, 18:52 >>Вот:
ну и для кого ты это вывалил? запусти программу в консоли и перенаправь вывод ошибок в файл: myprog 2>out.txt открой в редакторе понимающем нужную кодировку и помести текст на форум. П.С. дешифрацией с картинок по моему ни один форумчанин заниматься не станет Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: Dendy от Июнь 17, 2010, 20:39 Ошибку или в файл или так:
Код
Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: G-virus от Июнь 17, 2010, 20:54 Эммм. Как бы, на картинке показано то, что выводит qDebug (lib.errorString().toAscii()) О_о
Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: BRE от Июнь 17, 2010, 20:56 Эммм. Как бы, на картинке показано то, что выводит qDebug (lib.errorString().toAscii()) О_о Ты про ряд вопросиков? ;)Это очень не легко читается. Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: G-virus от Июнь 17, 2010, 21:02 Эммм. Как бы, на картинке показано то, что выводит qDebug (lib.errorString().toAscii()) О_о Ты про ряд вопросиков? ;)Это очень не легко читается. записал в файл. У меня тоже вопросики, я хз, чем под виндой прочитать. Щас поколдую и выложу Кстати как посоветовал Dendy, прога выдает ни чуть не лучший ответ ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D Вот что выдало: Cannot load library C:/Lab/Projects/Control/agsXMPP.dll: Не найден указанный модуль. Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: G-virus от Июнь 18, 2010, 18:15 Ну что, все? Идеи кончились? :)
Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: niXman от Июнь 18, 2010, 23:48 Цитировать Задаешь вопрос на русском форуме - на 30 страницах объяснят, какой ты мудак. после такого, и отвечать как-то не хочется :)з.ы. это все потому что у пендосов(и остальных рациональных людей), время == деньги. мы, постсоветские челы, очень шикарно живем, в сравнении с ними. потому что у нас есть куча времени, которое мы тратим на всякую крень. а они, естественно умнее нас, и знают, что ни за какие деньги невозможно купить и секунду времени. Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: G-virus от Июнь 19, 2010, 02:15 Ура, неадекваты проснулись. Ты не мог не написать подобного
Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: niXman от Июнь 19, 2010, 06:07 полагаю, в 23:48 они еще не ложились.
Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: G-virus от Июнь 19, 2010, 13:35 Пустой флуд и оффтоп что в принципе характерно для тебя
Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: niXman от Июнь 19, 2010, 15:24 я просто прокомментировал вашу подпись. вы ожидали, что я раскрою сакральный смысл о том, почему не "подключается" длл-ка? ;)
у меня "подключилась" :P Цитировать Пустой флуд и оффтоп дело в том, что я могу себе это позволить.Цитировать что в принципе характерно для тебя и, конечно -"славлюсь тем, что мне на всех накакать" (с) niXman Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: G-virus от Июнь 19, 2010, 15:46 Удивительно как ты еще здесь
Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: niXman от Июнь 19, 2010, 15:51 сей форум, для меня, не представляет никакого академического интереса... так, чисто постебаться.
Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: G-virus от Июнь 19, 2010, 15:55 сей форум, для меня, не представляет никакого академического интереса... так, чисто постебаться. Ааа понятно, значит на тебя можно тупо положить и игнорить все фуфло, которое ты тут оставляешь Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: niXman от Июнь 19, 2010, 16:01 именно! ;D
зы вы недоспали походу.. Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: Igors от Июнь 19, 2010, 17:14 Cannot load library C:/Lab/Projects/Control/agsXMPP.dll: Не найден указанный модуль. А он там есть? И правильный ли путь? Насколько я знаю в Вындоуз палки (слеши) должны быть в др. сторону и надо писать так:"C:\\Lab\\Projects\\Control\\agsXMPP.dll" Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: G-virus от Июнь 19, 2010, 18:26 Cannot load library C:/Lab/Projects/Control/agsXMPP.dll: Не найден указанный модуль. А он там есть? И правильный ли путь? Насколько я знаю в Вындоуз палки (слеши) должны быть в др. сторону и надо писать так:"C:\\Lab\\Projects\\Control\\agsXMPP.dll" Да, файл там есть. И путь правильный. Пробовал и со слешами и с двойными бэкслешами и все равно он не находит именно эту. (хотя я пробовал только на двух библах (agsXMPP.dll и winmm.dll), потому что работать с dll в Qt Creator до сих пор не приходилось) :) Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: Igors от Июнь 20, 2010, 03:44 Да, файл там есть. И путь правильный. Пробовал и со слешами и с двойными бэкслешами и все равно он не находит именно эту. (хотя я пробовал только на двух библах (agsXMPP.dll и winmm.dll), потому что работать с dll в Qt Creator до сих пор не приходилось) :) Создать простенький проект на MSVC и сделать там LoadLibrary. Потом думать - в зависимости от того пойдет или нетНазвание: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: BRE от Июнь 20, 2010, 09:21 в том-то и дело, что есть только сама dll-ка и больше ничего :) Такой вопрос, а откуда эта dll взялась?Может она вообще 64-битная? Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: G-virus от Июнь 20, 2010, 12:47 в том-то и дело, что есть только сама dll-ка и больше ничего :) Такой вопрос, а откуда эта dll взялась?Может она вообще 64-битная? вот отсюда (http://www.codeproject.com/KB/IP/JabberClient.aspx) взял Создать простенький проект на MSVC и сделать там LoadLibrary. Потом думать - в зависимости от того пойдет или нет У меня уже ее нету. Юзаю только Криэйтор. Но в студии она подключалась в референсах :) Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: G-virus от Июнь 23, 2010, 14:37 Ну что, будут еще идеи или как? :)
Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: Igors от Июнь 23, 2010, 15:30 Ну что, будут еще идеи или как? :) Вас трудно понять :) Давеча Вы писалиУ меня уже ее нету. Я так понял - проблема решена (или обойдена)?Юзаю только Криэйтор. Но в студии она подключалась в референсах :) На каких референсах? Создайте новый проект на MSVC и сделайте там LoadLibrary, т.е. убедитесь что dll не калечная, не 64, что она использованию подлежит. Это займет 10-15 минут, гораздо меньше чем опрос идей на форуме :)Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: G-virus от Июнь 24, 2010, 00:52 я писал, что у меня MSVC нету ;D ;D ;D ;D ;D
Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: Igors от Июнь 24, 2010, 11:52 я писал, что у меня MSVC нету ;D ;D ;D ;D ;D Значит просто верьте криатору что dll битая/несовместимая и ищите другуюНазвание: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: G-virus от Июнь 24, 2010, 22:49 я писал, что у меня MSVC нету ;D ;D ;D ;D ;D Значит просто верьте криатору что dll битая/несовместимая и ищите другуюДело в том, что у кореша стоит Win 7 x86, и у него она грузится. Правда в MS Visual Studio 2010 но факт, что она 32-битная. И все прекрасно работает. Да и я запускал ее через rundll32.exe тоже вроде ошибок не было. Не знаю даже, что не так :( Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: Igors от Июнь 24, 2010, 23:42 Дело в том, что у кореша стоит Win 7 x86, и у него она грузится. Правда в MS Visual Studio 2010 но факт, что она 32-битная. MSVC требует набора своих run-time библиотек - попробуйте их установить (как у кореша), с этим у MS хорошо, скачиваете и ставите. Возможно криатор не говорит какая именно dll не найдена - это конечно свинство, но в OC Вындоуз все возможноИ все прекрасно работает. Да и я запускал ее через rundll32.exe тоже вроде ошибок не было. Не знаю даже, что не так :( Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: G-virus от Июнь 25, 2010, 12:26 Дело в том, что у кореша стоит Win 7 x86, и у него она грузится. Правда в MS Visual Studio 2010 но факт, что она 32-битная. MSVC требует набора своих run-time библиотек - попробуйте их установить (как у кореша), с этим у MS хорошо, скачиваете и ставите. Возможно криатор не говорит какая именно dll не найдена - это конечно свинство, но в OC Вындоуз все возможноИ все прекрасно работает. Да и я запускал ее через rundll32.exe тоже вроде ошибок не было. Не знаю даже, что не так :( Ок попробую. qDebug вывел же вот это Cannot load library C:/Lab/Projects/Control/agsXMPP.dll: Не найден указанный модуль. Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: G-virus от Июнь 27, 2010, 21:39 Как это не смешно, но проблема таилась в отсутствии .NET Framework у меня на компе ;D
Та DLL написана на C# и походу тянет что-то из пакета Framework. По-крайней мере, после его установки, библа подключается :) и тут же выбросил библу ;D (не умею юзать шарповые библы в С++) Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: MJIbIu от Июль 06, 2010, 14:59 Как это не смешно, но проблема таилась в отсутствии .NET Framework у меня на компе ;D Приведи пару примеров как ты работал с этой dll в Qt CreatorТа DLL написана на C# и походу тянет что-то из пакета Framework. По-крайней мере, после его установки, библа подключается :) и тут же выбросил библу ;D (не умею юзать шарповые библы в С++) а то у меня ничего дальше подключение dll не выходил :( Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: fantom от Январь 04, 2012, 00:47 Пробую подключть тестовую dll.
В папке с исходниками создаю две папки с содержимым: include/MyLibrary/mylibrary.h lib/libMyLibrary.a В проекте дополнительно прописываю: INCLUDEPATH += include/MyLibrary LIBS += -Llib -lMyLibrary Выдает ошибку: :-1: ошибка: cannot find -lMyLibrary Что я делаю не так??? //************************* Сделал так: INCLUDEPATH += mylibrary LIBS += -LMyLibrary Все файлы находятся вместе с исходниками. При компиляции выдает ошибку: ошибка: undefined reference to `_imp___Z3sumii' При создании dll - ки написал там функцию int sum(int x, int y) { return x + y; } Я так понимаю проблема в самой dll? Название: Re: Почему не подключается dll к проекту?(Qt Creator) Отправлено: Blackwanderer от Январь 04, 2012, 05:38 Пробую подключть тестовую dll. В QtCreatore есть встроенное средство для подключения библиотек: Правой кнопкой на проект и выбрать "Add Library..."В папке с исходниками создаю две папки с содержимым: include/MyLibrary/mylibrary.h lib/libMyLibrary.a В проекте дополнительно прописываю: INCLUDEPATH += include/MyLibrary LIBS += -Llib -lMyLibrary |