Название: qtCreator cross compiling raspberry from windows Отправлено: juvf от Апрель 08, 2018, 20:27 У меня есть кросскомпилятор, из Eclipse собираю кросскопилированные приложения, заливаю в малину и запускаю/дебажу.
Как настроить QtCreator на Windows (7/8/10), для кросскомпиляции для малины? Название: Re: qtCreator cross compiling raspberry from windows Отправлено: sergek от Апрель 08, 2018, 23:19 Боюсь увести дискуссию в сторону, но хочется узнать, в чем преимущество кросс-компиляции от сборки на самой малине? Только экономия времени или что еще?
Название: Re: qtCreator cross compiling raspberry from windows Отправлено: juvf от Апрель 09, 2018, 06:34 а как такая технология работает?
Вот есть малина (причем не одна... а несколько). Они все удалены и по VPN сидят в одной сетке. Нужно на малину поставить эээээээ.... а что поставить? Библиотеки Qt в полный рост!? поставить gcс, make, и т.п. Потом нужно натравить как-то QtCreator с десктопа на малину. ээээ.... что дальше? Где должны быть сырцы проекта? Наверно на малине. редактиру. *.срр на десктопе, которые лежат на малине, запускаю сборку.... как-то на малине должна быть запущена сборка.... отладка.... и т.д. Чото какаята атская штука. И ещё.... малин несколько... если по моему пути идти, то можно просто ip таргета в настройка креатора менять и ps Ещё есть всякие linux девайсы, например такой (http://"http://www.starterkit.ru/html/index.php?name=shop&op=view&id=141"). Там нет ни иксов, ни видяхи. Там озу 64 МГб, как там на таргете собирать/отлаживаться? Я пишу для малины без Qt, Еclipse настроил на десктопе и кросскомпилирую. Всё работает. Не только для малины, но и для девайсов, типа роутера, у которых тоже озу всего 64Мгб. Не думаю, что туда встанет тулчейн. Название: Re: qtCreator cross compiling raspberry from windows Отправлено: __Heaven__ от Апрель 09, 2018, 11:00 Не обязательно иметь иксы, чтобы собрать на малине. Достаточно qmake и make. Первый создаст Makefile, а второй по нему соберёт. Естественно, qmake может потребоваться передать некоторые параметры.
Я бы в этой ситуации предпочёл иметь git репозиторий, к которому имеют доступ все малины. Таким образом можно настроить автоскачивание (по таймеру) из определённой ветки и запуск сборки. Название: Re: qtCreator cross compiling raspberry from windows Отправлено: juvf от Апрель 09, 2018, 11:30 2__Heaven__ не очень понятно ваше предложение.....
вы предлагаете поставить на малину в полный рост qt-develop. на десктопе писать исходники через Вы представляете как это будет работать? Мой вариант: 1) Пишем на десктопе текст. 2)Жмём кнопку - Run/Debug (прога собирается, отправляется на малину, запускается, если надо то под отладчиком) 3)goto 1 Ваш вариант Поднимаем Qt-develop вместе с gcc/гитами/питонами и прочими тулчейнами на малине (или на роутере с 64 мб озу и с ограниченным по размерам HD, на малину бы влез во весь рост Qt) 1) пишем текст на десктопе 2) КОММИТИМ!!! 3) ПУШИМ!!! 4) Заходим по ssh на малину 5) git pull 6) qmake 7) make 8 ) ./myProgram 9 ) goto 1 а как тут дебаг запустить - это отдельная тема. Вы ещё пошлите QtCreator в топку и предложите писать в vi. ps 2sergek Вот в чем преимущество кросскомпиляции. Название: Re: qtCreator cross compiling raspberry from windows Отправлено: sergek от Апрель 09, 2018, 12:31 ps 2sergek Вот в чем преимущество кросскомпиляции. Спасибо, я понял. Согласен, для роутеров без этого не обойтись. Но речь шла о малине.Поделюсь, как у меня это организовано. 1) Есть отдельная develop малина с установленным из исходников Qt. Сейчас работаю с 5.7, но пробовал 5.10, все ок. Если понадобятся опции configure, могу сообщить. На этой малине нет иксов, только библиотеки и qmake, и используется она для сборки проекта, т.е., как предлагал __Heaven__. 2) Для тиражирования на другие малины (в продакшн) делается образ системы с библиотеками qt (естественно, без исходников). 3) Разработку и отладку провожу на Creator в windows или ubuntu. Если нужны какие-нибудь особенные устройства, использую эмуляторы. 4) После отладки исходники проекта закидываю на develop малину, делаю qmake, make, а полученные исполняемые файлы раскладываю по остальным малинам. В моих программах есть режим обновления ПО, поэтому изменения проводят сами пользователи, я только рассылаю им файлы обновлений, включающие скрипты обновления БД, шаблоны, js, исполняемые файлы и др. В перспективе, наверное, это все можно централизовать через git. С отладкой на реальном железе, конечно, есть проблемы. Изредка приходится использовать qDebug). Коллеги, как я и боялся, мы уши в сторону - как все же кросс-компиляцию в win10 сделать? Мне тоже интересно. Название: Re: qtCreator cross compiling raspberry from windows Отправлено: juvf от Апрель 09, 2018, 12:52 2sergek
1) сколько на малине места занял qt-develop? 3) Отладку в винде делаете на эмуляторе? Вроде там есть возможность добавить эмулятор малины.... не дошел до этого. Конечно на реальном железе лучше отлаживать. Я пишу не БД и не матАнализ... у меня малина GPIO и SPI дергает, на которых периферия, скорее нужно периферию щуюпать, чем малину. Почему я не хочу ставить на малину qt - потому что малина, это скорее отладочный kit, на котором хочу научится кросскомпилировать. В дальнейшем планирую свою борду сделать, с минимальным кол-вом ОЗУ/ПЗУ. Или аналог фруктовый заюзать. Цитировать как все же кросс-компиляцию в win10 сделать? Мне тоже интересно. я пошел следующим путём: скачал исходники qt5.10, у меня стоит кросскомпилятор для малины вот от сюда (http://gnutoolchains.com/raspberry/) (там же есть и просто arm-eabi, arm-elf). Уже стоит mingw32-make из Qt5.6. Планирую собрать qt на винде для малины. Потом вместе со своей прогой докину полученные в винде либы в малину (или установлю, или вообще статику соберу, это уже не важно).собираю Qt с конфигом Код: configure ^ пока блин комом Цитировать WARNING: Python version 2 (2.7.5 or later) is required to build QtWebEngine. Питон стоит 2.7, но какойто ворнинг.... WARNING: host pkg-config not found ERROR: The OpenGL functionality tests failed! You might need to modify the include and library search paths by editing QMAKE_I NCDIR_OPENGL[_ES2], QMAKE_LIBDIR_OPENGL[_ES2] and QMAKE_LIBS_OPENGL[_ES2] in the mkspec for your pla tform. опен_жл отключен, но требует.... делаю в свободное время.... буду дальше разбираться. sergek покажите свой конфиг? Название: Re: qtCreator cross compiling raspberry from windows Отправлено: sergek от Апрель 09, 2018, 13:32 2sergek Если речь о библиотеках - то 1) сколько на малине места занял qt-develop? Код: du -s /usr/local/Qt-5.7.0 3) Отладку в винде делаете на эмуляторе? Вроде там есть возможность добавить эмулятор малины.... не дошел до этого. Конечно на реальном железе лучше отлаживать. Я пишу не БД и не матАнализ... у меня малина GPIO и SPI дергает, на которых периферия, скорее нужно периферию щуюпать, чем малину. Не-не, эмулятор не малины, а периферии, которую "щуюпать". Поэтому есть проблема с SPI, i2C, GPIO - ее отлаживаю только на малине develop. Как раз и хочется попробовать из-за этого кросс.sergek покажите свой конфиг? Уберите QtWebEngine, с ним не соберется... Я десяток раз пробовал. Может, если жесткий диск подключить, то и получится. А сейчас я собирал 5.10 по инструкции http://wiki.qt.io/Native_Build_of_Qt5_on_a_Raspberry_Pi , в в предлагаемый там configure добавьте опции Код: -nomake examples -nomake tests -skip qtwebengine -skip qtlocation Название: Re: qtCreator cross compiling raspberry from windows Отправлено: juvf от Апрель 09, 2018, 13:46 Большое спасибо за qtwebengine. Я убился, ища отключение webengine. Он мне не нужен, но как отключить не нашел. Вообще очень много, чего в конфигуре можно найти только на ощуп. На ощуп нашел как кросскомпилятор подключить вместо xplatform, какие могут быть xplatform. Вот например хелп по конфигурации выдает
Цитировать -skip <repo> ......... Exclude an entire repository from the build. А что можно записать вместо <repo>? Какие варианты? Как нужно догадаться, то для отключения вэба нужно записать -skip qtwebengine? Название: Re: qtCreator cross compiling raspberry from windows Отправлено: juvf от Апрель 09, 2018, 13:49 не помог -skip qtwebengine (((
Цитировать Qt WebEngine: Embedded build ......................... yes Pepper Plugins ......................... no Printing and PDF ....................... no Proprietary Codecs ..................... no Spellchecker ........................... yes Native Spellchecker .................... no WebRTC ................................. no Use System Ninja ....................... no Geolocation ............................ yes Use v8 snapshot ........................ yes Use ALSA ............................... no Use PulseAudio ......................... no Note: No wayland-egl support detected. Cross-toolkit compatibility disabled. WARNING: Python version 2 (2.7.5 or later) is required to build QtWebEngine. WARNING: host pkg-config not found ERROR: The OpenGL functionality tests failed! You might need to modify the include and library search paths by editing QMAKE_I NCDIR_OPENGL[_ES2], QMAKE_LIBDIR_OPENGL[_ES2] and QMAKE_LIBS_OPENGL[_ES2] in the mkspec for your pla tform. Check config.log for details. Название: Re: qtCreator cross compiling raspberry from windows Отправлено: sergek от Апрель 09, 2018, 14:24 Перед конфигурированием не забывайте
Код: make confclean Кроме этого, сделайте установку всех пакетов, рекомендованных в инструкции, на которую я давал ссылку, начиная с sudo apt-get update. Название: Re: qtCreator cross compiling raspberry from windows Отправлено: juvf от Апрель 09, 2018, 14:37 Цитировать начиная с sudo apt-get update. вы наверно меня не поняли, я qt для малины собираю не на малине, и не в линуксе, а в Windows7. Название: Re: qtCreator cross compiling raspberry from windows Отправлено: juvf от Апрель 09, 2018, 14:48 у меня была мысль ПЕРЕКОНФИГУРИРОВАТЬ, т.е. очистить конфиг и запустить... не знаю как очистить конфигурацию....
configure -clean не работает Название: Re: qtCreator cross compiling raspberry from windows Отправлено: sergek от Апрель 09, 2018, 15:13 Для этого служит make confclean
Ну и удаление исходников и новое раворачивание из архива помогает же )) Название: Re: qtCreator cross compiling raspberry from windows Отправлено: juvf от Апрель 09, 2018, 15:32 Для этого служит make confclean Код: D:\soft\Qt\Qt5.10\qt-everywhere-src-5.10.1>mingw32-make confclean Название: Re: qtCreator cross compiling raspberry from windows Отправлено: kambala от Апрель 09, 2018, 16:49 Цитировать -skip <repo> ......... Exclude an entire repository from the build. А что можно записать вместо <repo>? Какие варианты? Как нужно догадаться, то для отключения вэба нужно записать -skip qtwebengine? а чтоб не мучаться с очисткой конфигурации, лучше делать shadow build (но для этого нужен перл): делается конфигурация/построение в другой папке, а старая просто удаляется (при этом папка с исходниками остается чистой). Название: Re: qtCreator cross compiling raspberry from windows Отправлено: juvf от Апрель 10, 2018, 06:22 туда можно писать любую из папок в корне исходников, которая начинается с "qt". Спасибо, получилось qtmultimedia отключить. Когда у меня возникают такие вопросы, я всегда ставлю 2 вопроса 1)Что можно записать вместо <repo>? 2) Как нужно догадаться? на 1-ый я получил ответ, спасибо. Но 2-ой вопрос не менее важен. Я не хочу в будущем отнимать у вас время, тратить своё, я хочу научиться сам решить проблемы. Есть qt, есть configire, есть аргументы у configure. Что писать в аргументах? configire --help подскажет. Но что писать в skip? Что писать в device? Что писать в xplatform и т.п.? Каким местом нужно думать (извините за интимный вопрос), чтобы догадаться, что можно писать любую из папок в корне исходников, которая начинается с "qt"? Есть где нибудь годный мануал по сборке qt? Название: Re: qtCreator cross compiling raspberry from windows Отправлено: Igors от Апрель 10, 2018, 06:39 а чтоб не мучаться с очисткой конфигурации, лучше делать shadow build (но для этого нужен перл): делается конфигурация/построение в другой папке, а старая просто удаляется (при этом папка с исходниками остается чистой). К ягодам отношения не имеет, но недавно помучился. Пытался собрать из папки/мамки где уже сидел другой (static) build. Сборка начала хватать старые .obj и захлебываться. Пытался почистить их руками, но не вышло. Ладно, переустановил с .dmg и думаю - сейчас сделаю грамотно, создам фолдер Build и уже из него... Не выходит - говорит что, мол, не можете делать "shadow build" (полный текст не помню). Почему и все-таки как делать грамотно? Спасибо2) Как нужно догадаться? Логикой - никак. Надо "знать". Плохо или хорошо - но такова натура линуха и командной строки. Что писать в аргументах? configire --help подскажет. Но что писать в skip? Что писать в device? Что писать в xplatform и т.п.? Каким местом нужно думать (извините за интимный вопрос), чтобы догадаться, что можно писать любую из папок в корне исходников, которая начинается с "qt"? Название: Re: qtCreator cross compiling raspberry from windows Отправлено: juvf от Апрель 10, 2018, 07:07 Логикой - никак. Надо "знать". Плохо или хорошо - но такова натура линуха и командной строки. Хорошо.... хочу всё знать! Как это узнать? Чтобы знать - нужно получить эти знания. От куда их получить? По другому задам вопрос 2: Где и в какой инструкции расписаны возможные варианты skip и других аргументов configure?И ПРИЧЕМ ТУТ ВООБЩЕ ЛИНУХ? Я ВЕДУ СБОРКУ В WINDOWS. Даже в заголовке темы написал Windows. Мнет всю тему - линух, make, sudo apt-get.... Название: Re: qtCreator cross compiling raspberry from windows Отправлено: juvf от Апрель 10, 2018, 08:39 Цитировать Library execs installed to..d:\soft\qt\qt5.6.0\buildWin\bin No comment!QML1 imports installed to...d:\soft\qt\qt5.6.0\buildWin\imports QML2 imports installed to...d:\soft\qt\qt5.6.0\buildWin\qml Binaries installed to.......d:\soft\qt\qt5.6.0\buildWin\bin Arch-indep. data to.........d:\soft\qt\qt5.6.0\buildWin Docs installed to...........d:\soft\qt\qt5.6.0\buildWin\doc Translations installed to...d:\soft\qt\qt5.6.0\buildWin\translations Examples installed to.......d:\soft\qt\qt5.6.0\buildWin\examples Tests installed to..........d:\soft\qt\qt5.6.0\buildWin\tests Qt is now configured for building. Just run mingw32-make. To reconfigure, run mingw32-make confclean and configure. D:\soft\Qt\Qt5.6.0\qt-everywhere-opensource-src-5.6.0>mingw32-make confclean mingw32-make: *** No rule to make target 'confclean'. Stop. D:\soft\Qt\Qt5.6.0\qt-everywhere-opensource-src-5.6.0> скачал 5.6, минимальные аргументы в конфиг, тестовая сборка в windows для windows. конфиг прошел нормально, make сразу валиться Цитировать D:\soft\Qt\Qt5.6.0\qt-everywhere-opensource-src-5.6.0>mingw32-make c 5.10 та же проблема.... cd qtbase/ && ( test -e Makefile || D:/soft/Qt/Qt5.6.0/qt-everywhere-opensource- src-5.6.0/qtbase/bin/qmake D:/soft/Qt/Qt5.6.0/qt-everywhere-opensource-src-5.6.0 /qtbase/qtbase.pro -o Makefile ) && mingw32-make -f Makefile mingw32-make[1]: Entering directory 'd:/soft/Qt/Qt5.6.0/qt-everywhere-opensource -src-5.6.0/qtbase' cd src/ && ( test -e Makefile || d:/soft/Qt/Qt5.6.0/qt-everywhere-opensource-src -5.6.0/qtbase/bin/qmake.exe D:/soft/Qt/Qt5.6.0/qt-everywhere-opensource-src-5.6. 0/qtbase/src/src.pro -o Makefile ) && d:/soft/Qt/Qt5.6.0/Tools/mingw492_32/bin/m ingw32-make -f Makefile /usr/bin/sh: d:/soft/Qt/Qt5.6.0/Tools/mingw492_32/bin/mingw32-make: Invalid argu ment Makefile:41: recipe for target 'sub-src-make_first' failed mingw32-make[1]: *** [sub-src-make_first] Error 126 mingw32-make[1]: Leaving directory 'd:/soft/Qt/Qt5.6.0/qt-everywhere-opensource- src-5.6.0/qtbase' makefile:68: recipe for target 'module-qtbase-make_first' failed mingw32-make: *** [module-qtbase-make_first] Error 2 D:\soft\Qt\Qt5.6.0\qt-everywhere-opensource-src-5.6.0> на 4.8 чтоли уйти? или на чистый троллтечный 4.3? Название: Re: qtCreator cross compiling raspberry from windows Отправлено: kuzulis от Апрель 10, 2018, 10:15 Компилировать на малинах и прочих - это треш, для этого есть кросс-компиляция. :)
А по теме, наврятли получится настроить кросс-компиляцию с QtC на Windows хосте для Linux таргета. Нужен хост на Linux. Название: Re: qtCreator cross compiling raspberry from windows Отправлено: alex312 от Апрель 10, 2018, 11:55 если проект на qmake - то все плохо.
Но, проект на qbs кросскомпилируется с пол-пинка. Cmake - вроде тоже не трудно, надо только toolchain файл правильный вот например - https://blog.kitware.com/cross-compiling-for-raspberry-pi/ . Не смотрите что там хост на линуксе. Смотреть как формируется Toolchain-RaspberryPi.cmake Ну и кроме системы сборки надо кросс-тулчейн и sysroot П.С. всю тему не читал, поэтому вот еще ссылка на тудчейн : http://gnutoolchains.com/raspberry/ Название: Re: qtCreator cross compiling raspberry from windows Отправлено: kambala от Апрель 10, 2018, 13:23 2) Как нужно догадаться? где смотреть список модулей я написал (сам узнал из кода configure). Какие-то примеры/опции можно подчерпнуть из документации, еще не повредит почитать код configure-скрипта (правда, под виндой там exe, но суть должна быть та же, что и у юниксовского), ну и гуглить :) xplatform — это что-то из mkspecs.на 1-ый я получил ответ, спасибо. Но 2-ой вопрос не менее важен. Я не хочу в будущем отнимать у вас время, тратить своё, я хочу научиться сам решить проблемы. Есть qt, есть configire, есть аргументы у configure. Что писать в аргументах? configire --help подскажет. Но что писать в skip? Что писать в device? Что писать в xplatform и т.п.? Каким местом нужно думать (извините за интимный вопрос), чтобы догадаться, что можно писать любую из папок в корне исходников, которая начинается с "qt"? Есть где нибудь годный мануал по сборке qt? С кросс-компиляцией сталкивался только в macOS->iOS, но там все просто. а чтоб не мучаться с очисткой конфигурации, лучше делать shadow build (но для этого нужен перл): делается конфигурация/построение в другой папке, а старая просто удаляется (при этом папка с исходниками остается чистой). К ягодам отношения не имеет, но недавно помучился. Пытался собрать из папки/мамки где уже сидел другой (static) build. Сборка начала хватать старые .obj и захлебываться. Пытался почистить их руками, но не вышло. Ладно, переустановил с .dmg и думаю - сейчас сделаю грамотно, создам фолдер Build и уже из него... Не выходит - говорит что, мол, не можете делать "shadow build" (полный текст не помню). Почему и все-таки как делать грамотно? СпасибоКод: # текущая папка содержит папку с исходниками qt-everywhere-src-5.10.1 Название: Re: qtCreator cross compiling raspberry from windows Отправлено: juvf от Апрель 10, 2018, 13:35 Qt is now configured for building. Just run mingw32-make. Это лечиться. Стоял mingw из состава qt5.6. Им все собиралось.To reconfigure, run mingw32-make confclean and configure. D:\soft\Qt\Qt5.6.0\qt-everywhere-opensource-src-5.6.0>mingw32-make confclean mingw32-make: *** No rule to make target 'confclean'. Stop. D:\soft\Qt\Qt5.6.0\qt-everywhere-opensource-src-5.6.0> Код: D:\soft\Qt\Qt5.6.0\Tools\mingw492_32\bin>mingw32-make --version Код: D:\soft\mingw2018\bin>mingw32-make --version Название: Re: qtCreator cross compiling raspberry from windows Отправлено: juvf от Апрель 12, 2018, 21:05 В общем так и не взлетела кросс компиляция на QtCreator с Qt.
Т.к., во первых мне гуй не нужен, во вторых кросскомпиляция у меня прекрасно работает в теплоламповом Eclipse, то заюзал boost. Мне не хватает thread, tcpsocked, websocked. Это boost даёт. Qt оставлю для нативных гуи-приложений на десктопе. Если кому интересно, как с бустом кроссокомпиляцию поднять, спрашивайте. Всем спасибо за поддержку/сочувствие ;) Название: Re: qtCreator cross compiling raspberry from windows Отправлено: zhbr от Апрель 24, 2018, 11:44 делал кросскомпиляцию на винде для beaglebone black.
в кратце: нужен кросскомпилятор (linaro помоему), нужен sysroot от малины(можно либо выдернуть с самой малины либо состряпать самому). всем этим набором собираем Qt из исходников. далее в Qt creator настраивается доступ по ssh к малине. если ещё интересно могу найти свои заметки по этой теме и более подробно расписать Название: Re: qtCreator cross compiling raspberry from windows Отправлено: YvenTitan от Январь 23, 2020, 09:06 У кого-нибудь получилось сделать кросс-компиляцию qt для raspberry pi? Можете дать советы
|