Название: как подключить библиотеку к QT? Отправлено: helpman от Апрель 22, 2009, 17:21 у меня имеется QT версии 3.3.3 , МСВС и библеотека mylib.a в которой есть фунция :
int mycity(int, int); вопрос: Как подключить библиотеку к QT? Как я могу вызвать свою функцию из QT? есть у кого примерчик или подскажите в какую сторону копать, что почитать можно... Название: Re: как подключить библиотеку к QT? Отправлено: SABROG от Апрель 22, 2009, 18:43 В .pro файле добавь:
Код: INCLUDEPATH += путь_к_хедеру_mylib В .cpp файле: Код: #include <mylib.h> Название: Re: как подключить библиотеку к QT? Отправлено: helpman от Апрель 28, 2009, 13:41 в хедере надо написано это:
int mycity(int, int); подключил как все написал, но компилятор выдает ошибкe на строчке вызова функции: Undefined declaration Как я понимаю библиотека не подхватилась... т.к. если в коменты взять вызов функции то все ОК. подскажите где я туплю...( Название: Re: как подключить библиотеку к QT? Отправлено: ритт от Апрель 28, 2009, 14:03 mylib.h нашёлся? гварды в хедере имеются? либа нашлась? чем собрана либа?
Название: Re: как подключить библиотеку к QT? Отправлено: alekseysytchev от Май 07, 2009, 15:01 Ребята, только это решение подошло в моем случае, когда я искал, как подрубить -lqtiff.
Спасибо огромное. Только разве мне не надо было добавлять хедера. Название: Re: как подключить библиотеку к QT? Отправлено: ритт от Май 07, 2009, 20:48 > Только разве мне не надо было добавлять хедера.
если резолвишь символы вручную, не надо. Название: Re: как подключить библиотеку к QT? Отправлено: ритт от Май 07, 2009, 23:53 > Только разве мне не надо было добавлять хедера. жесть :)если резолвишь символы вручную, не надо. Название: Re: как подключить библиотеку к QT? Отправлено: vasilii_ru от Июнь 02, 2011, 17:12 у меня Qt creator 2.0.1, основан на 4.7, WinXP, minGW
подключил 2 библиотеки P100X.lib, PortLib.lib в файле .pro LIBS += P100X.lib LIBS += PortLib.lib обе библиотеки он находит (проверено изменением имени), обе находятся в одном и томже каталоге программы фунукции библиотеки P100X.lib находит , а функции библиотеки PortLib.lib не находит, пишет ошибку: undefined reference to 'имя функции' особенности: библиотека P100X.lib содержит в себе запросы к библиотеки P100X.dll, а библиотека PortLib.lib полность статическая библиотека PortLib.lib имеет свой хидер (.h) не совпадающий с именем библиотеки (пробовал вручную создавать совпадающее имя) - библ не мои Вопрос: чтоже всетаки можно попробовать чтобы использовать функции из 2-ой библиотеки???? За любой ответ буду очень признателен Название: Re: как подключить библиотеку к QT? Отправлено: lit-uriy от Июнь 02, 2011, 18:48 >>а библиотека PortLib.lib полность статическая
тогда тебе не надо руками функции разрешать, используй заголовочник. Название: Re: как подключить библиотеку к QT? Отправлено: vasilii_ru от Июнь 03, 2011, 18:17 используй заголовочник.
я так понимаю это значит использовать хидер который шел вместе с этой библиотекой? если это так - то я его уже использую, он(комипятор) его находит и процесс компиляции файла в объектный файл проходит без ошибок, но вот линковщик типа не находит этих функций - которые лежат в этой библиотеке. как быть или как хотябы увидеть что это не так? Название: Re: как подключить библиотеку к QT? Отправлено: lit-uriy от Июнь 04, 2011, 09:44 покажи ошибки линкера. Возможно искажения имён не понятны данному конкретному компилятору.
Название: Re: как подключить библиотеку к QT? Отправлено: vasilii_ru от Июнь 05, 2011, 16:49 Вот выдаются такие ошибки :
debug/fuleren.o: In function `Fuleren': C:\Qt\2010.05\progi\Fuleren-build-desktop/../Fuleren/fuleren.cpp:143: undefined reference to `InstallDriverWithSCManager()' C:\Qt\2010.05\progi\Fuleren-build-desktop/../Fuleren/fuleren.cpp:143: undefined reference to `InstallDriverWithSCManager()' collect2: ld returned 1 exit status mingw32-make[1]: *** [debug\Fuleren.exe] Error 1 mingw32-make: *** [debug] Error 2 Процесс "C:/Qt/2010.05/mingw/bin/mingw32-make.exe" завершился с кодом %2. Возникла ошибка при сборке проекта Fuleren (цель: Настольный компьютер) Во время выполнения сборки на этапе "Сборка" Библиотеку качал отсюда: http://www.pcports.ru/articles/4.php Название: Re: как подключить библиотеку к QT? Отправлено: Mikhail от Июнь 05, 2011, 18:55 Вы работаете с компилятором mingw.
А библиотека собрана Майкрософтовским компилятором. И почему они должны понимать друг друга? Название: Re: как подключить библиотеку к QT? Отправлено: vasilii_ru от Июнь 05, 2011, 20:02 я не знаю должна ли она понимать или не должна (я для этого на форум и пришел чтобы выслушать мнения и советы, а тут приходят всякие наиумнейшие и пантуются что они такие аху... умные аж абосраться , которые собственно и могут что только поглумится)
библиотека P100X.lib тоже собрана майкрософтовским компилятором но она компилится и линкуется !!!!(качал здеськачал здесь: http://ftp.icpdas.com.tw/pub/cd/iocard/pci...2/dll_ocx/demo/ " dll_vc6_070314.exe ") В чем фишка??? Название: Re: как подключить библиотеку к QT? Отправлено: vasilii_ru от Июнь 06, 2011, 02:26 судя по вот этому http://forum.swamp.ru/viewtopic.php?p=1933292 сообщение от: Чт Фев 04, 2010 11:08 am
можно применить утилиту reimp.exe для преобразования у меня в утилитах компилятора ее нет, скачал отдельно из архива mingw-utils-0.3.tar.gz но все равно ничего не выходит в файле документации нашел такие строки: If an input library contain regular objects (non-imports, i.e code and data) `reimp' will write out those objects unless you specify one of the `--only-def' and `--dump-symbols' options. You probably want to include those objects as well in the generated library. `reimp' doesn't do that automatically so you have to do it manually using `ar', like this reimp imp.lib # this generates several .o or .obj files. ar rcs libimp.a *.obj # add them to library подставил свою библиотеку, после нее выходит файл с именем "0" чуть меньшего размера и файл .а в 2.5 раза меньше изначальной библиотеки, но он все равно не подходит!!! есть утилита ranlib - но чем отличаются и как работает невыяснил, может кто подскажет чего? или может этот файл .а я в неправильное место поставил (у меня он был тут С:Qt\2010.05\mingw\lib, в принципе в файл проекта я его тоже пробовал ложить) |