jenya7 0 24 октября, 2022 Опубликовано 24 октября, 2022 · Жалоба Я собираю так 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 не даёт результатов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
razrab83 21 24 октября, 2022 Опубликовано 24 октября, 2022 · Жалоба /usr/lib/x86_64-linux-gnu/libQt5Core.so Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 24 октября, 2022 Опубликовано 24 октября, 2022 · Жалоба On 10/24/2022 at 10:53 AM, razrab83 said: /usr/lib/x86_64-linux-gnu/libQt5Core.so ага. спасибо. у меня правда сборка в другой папке /usr/lib/arm-linux-gnueabihf/ получается монструозная строка если включать все зависимости. на весь экран. а как это сделать через QMake файл? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
razrab83 21 24 октября, 2022 Опубликовано 24 октября, 2022 · Жалоба 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. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 24 октября, 2022 Опубликовано 24 октября, 2022 (изменено) · Жалоба 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. вот такая невесёлая история. Изменено 25 октября, 2022 пользователем jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться