Перейти к содержанию
    

Собрать библиотеку в Qt со всеми зависимостями.

Я собираю так

g++ -fPIC -shared -o mylib.so mylib.o

при исполнении (в Питоне) он ругается - не находит объекты (QRunnable например)

мне сказали нужно собирать со всеми дефайнами которые в сорсах

g++ -fPIC -shared -o mylib.so mylib.o libqtcore.so  lib_и_так_далее.so

но где они на Linux? не могу найти

find / libqtcore.so

не даёт результатов.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 10/24/2022 at 10:53 AM, razrab83 said:

/usr/lib/x86_64-linux-gnu/libQt5Core.so

ага. спасибо. у меня правда сборка в другой папке

/usr/lib/arm-linux-gnueabihf/

получается монструозная строка если включать все зависимости. на весь экран.  а как это сделать через QMake файл?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

21 минуту назад, jenya7 сказал:

а как это сделать через QMake файл?

ни как. QMake файлу (т.е. *.pro) не указывается пути до библиотек.

вангую: когда устанавливается qt, то устанавливаюся либы, бинарники и т.п.  в разные папки. также на пк устанавливается qmake. допустим либы легли в папку

/usr/lib/arm-linux-gnueabihf/, а qmake в паку /usr/bin. Когда запускаете этот qmake, то он создает makefile c путями

INCPATH       = -I. -I\usr\include\qt\ -I\usr\include\qt\QtVirtualKeyboard -Irelease -I/include -I..\......<длинная колбаса>
LINKER      =        g++
LIBS        =        /usr/lib/arm-linux-gnueabihf/libQt5VirtualKeyboard.so /usr/lib/arm-linux-gnueabihf/libQt5Quick.so

qmake сам знает где ёвные библы и хидеры.

Когда сами собираете Qt (установка не из репов, а онлайн инсталятор или самостоятельная сборка), то запрашивается папка установки. Допустим вы поставили Qt в /home/user/Qt5_12

в этоq папке будет qmake. Если его запустить, то он вам сделает makefile c инклудами в папку /home/user/Qt5_12/include. Ему не нужно говорить от куда брать либы/хидеры.

Можете поставить рядом в сосед. папку кроссплатформенный Qt,  допустим в /home/user/Qt5_12_Raspberry. qmake из Qt5_12_Raspberry "подтянет" библиотеки/заголовки из /home/user/Qt5_12_Raspberry/lib и /home/user/Qt5_12_Raspberry/include

Запускаете нужный вам qmake - получаете нужные вам include.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 10/24/2022 at 11:50 AM, razrab83 said:

ни как. QMake файлу (т.е. *.pro) не указывается пути до библиотек.

 

спасибо. попробую.

 

собрал таки so файл. добавлял библиотеки пока питон кричал "undefined symbol". сейчас при загрузке файла питон просто падает с

Quote

Backend terminated or disconnected. Use 'Stop/Restart' to restart.

вот такая невесёлая история.

Изменено пользователем jenya7

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...