LINUX.ORG.RU

[qt3]как подключить *.so библиотеку из выбранной папки?


0

1

Доброго времени. Собсна приступим :

1. Есть 2 класса , написанные с использованием qt3, скомпилены в библиотеку libclass.so. Библиотека и хэдер к ней лежат в </path/to/project>/lib/libclass.so и </path/to/project>/lib/class.h

2. Есть исходник, использующий эту либу, лежит в </path/to/project>/src/main.cpp

Вопрос: какие преобразования .pro - файла нужно сделать для:
1. Компиляции </path/to/project>/src/main.cpp в </path/to/project>/bin/prog
2.Подключения </path/to/project>/lib/libclass.so и </path/to/project>/lib/class.h к </path/to/project>/bin/prog ?

Пока постараюсь разобраться сам для устранения пробела в знаниях, но так как решение проблемы необходимо завтра к полудню решил подстраховаться с помощью великих прогеров ЛОРа. Заранее благодарю, друзья.

★★

Тебе нужно смотреть в сторону плагинов... и qt4.

Посмотри проект Plug and Play. Там всё подробно расписано.

DarkAmateur ★★★★
()

1. Есть 2 класса , написанные с использованием qt3, скомпилены в библиотеку libclass.so. Библиотека и хэдер к ней лежат в </path/to/project>/lib/libclass.so и </path/to/project>/lib/class.h

2. Есть исходник, использующий эту либу, лежит в </path/to/project>/src/main.cpp

Вопрос: какие преобразования .pro - файла нужно сделать для:
1. Компиляции </path/to/project>/src/main.cpp в </path/to/project>/bin/prog
2.Подключения </path/to/project>/lib/libclass.so и </path/to/project>/lib/class.h к </path/to/project>/bin/prog ?

добавь в .pro-файл следующие строчки (это с учётом предположения, что .pro-шник у тебя лежит в директории, находящейся на том же уровне где /src и /lib):

LIBS += -L../lib/ -llibclass
INCLUDES +=../lib/
shty ★★★★★
()
Ответ на: комментарий от shty

Эти строки дают возможность компиляции, но не исполнения. Для исполнения программы приходится делать

export LD_LIBRARY_PATH = </path/to/libs>

Можно этого как-то избежать?

Dikar ★★
() автор топика
Ответ на: комментарий от Dikar

в /etc/ld.conf записать.

Читаем как работает линкер, тут к третьим кутям в вопросе никакого отношения нету, разве что вместо вменяемой системы сборки непонятно что.

tensai_cirno ★★★★★
()
Ответ на: комментарий от Dikar

Эти строки дают возможность компиляции, но не исполнения. Для исполнения программы приходится делать export LD_LIBRARY_PATH = </path/to/libs> Можно этого как-то избежать?

1. а в чём проблема с экспортом?

2. когда мне лень и надо по-быстрому запустить приложение я просто кладу .so в директорию /bin рядом с исполняемым файлом :)

3. из среды разработки всё пускается (должно пускаться, по-крайней мере)

shty ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.