Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > [Qt4] пробллемы c динамической библиотеки ?


Автор: Remiznik 9.8.2010, 10:28
Хочу разобраться как подключать динамическую библиатеку в QT.
Для начала попробовал просто тестовый пример из книги Шлее. Но там пример только с использование QLabery а я хочу подключить библиотеку а этапе компиляции. Переделал пример и вот что получилось.

Саму библиотеку оставил без изменений как в книге. Изменил только main.cpp и *.pro

Код

main.cpp
#include <QtGui>
#include "dynlib.h"

int main( int argc, char** argv)
{
    QApplication app( argc, argv);
    QLabel lbl(" this is the example text");
    //lbl.setText(oddUpper(lbl.text()));
    lbl.show();
    return app.exec();

}

dll.pro
TEMPLATE = app
TARGET = 
LIBS += /my/test/t4/dll/libdynlib.so.1.0.0
DEPENDPATH += . dynlib
INCLUDEPATH += . dynlib

# Input
HEADERS += dynlib/dynlib.h
SOURCES += main.cpp dynlib/dynlib.cpp


выдаёт вот такую ошибку 
Код

./dll
./dll: error while loading shared libraries: libdynlib.so.1: cannot open shared object file: No such file or directory


собирал в Linux на Qt 4.3
Вопрос такой как мне правильно подключить библиотеку ? 


Автор: pilotnet 9.8.2010, 10:39
LIBS += -L/my/test/t4/dll   -ldynlib

Автор: Remiznik 9.8.2010, 10:46
туже самую ошибку выдаёт.

Автор: pilotnet 9.8.2010, 10:49
пути до библиотеки прописал ?
export LD_LIBRARY_PATH=/my/test/t4/dll:$LD_LIBRARY_PATH

Автор: Remiznik 9.8.2010, 10:52
Прописал заработало ! спасибо )

А в Windows тоже нужно это както прописывать 7 

Автор: pilotnet 9.8.2010, 11:15
про виндовс не знаю но на вскидку либо в текущий каталог  либо в  \WINDOWS\system32\

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)