Сборка под специфичную платформу
От: kokaku  
Дата: 17.08.19 12:42
Оценка:
Дратути!

Есть специфическая железка. Для нее собран gcc. С помощью последнего собрали Qt(только библиотеки. qmake например нет).
Как, малой кровью, имея точно такую же версию Qt на ПК, собрать приложение.

Простое qmake -makefile project.pro формирует Makefile в котором устанешь руками менять путь до либов, путь до хеадеров, путь до компилятора.
Возможно сделать проще?
qt cross
Re: Сборка под специфичную платформу
От: Zhendos  
Дата: 18.08.19 00:36
Оценка:
Здравствуйте, kokaku, Вы писали:

K>Есть специфическая железка. Для нее собран gcc. С помощью последнего собрали Qt(только библиотеки. qmake например нет).

K>Как, малой кровью, имея точно такую же версию Qt на ПК, собрать приложение.

K>Простое qmake -makefile project.pro формирует Makefile в котором устанешь руками менять путь до либов, путь до хеадеров, путь до компилятора.

K>Возможно сделать проще?


Как-то у вас все через одно место. Если есть кросс компилятор работающий
на x86_64 и генерирующий код для вашей "специфичной железки" и вы с помощью
него собрали Qt 5.x, то так как сама система компиляции Qt основана на qmake,
у вас должен быть во-первых "spec" файл описывающий все что нужно (путь до правильного gcc,
путь до заголовочных файлов и т.д.), во-вторых у вас должен быть нужный qmake,
который в процессе компиляции автоматически собирается для архитектуры x86_64,
но генерирующий проекты для вашей железке. По другому Qt просто не соберется,
и куда вы все потеряли совершенно непонятно.

Но если вы куда-то "протеряли" qmake, то spec то файл для вашей железке надеюсь
не "протеряли"? Тогда используйте qmake -spec путь-до-конфига-сборки-qt и будет вам счастье.
Re: Сборка под специфичную платформу
От: Igore Россия  
Дата: 19.08.19 07:13
Оценка:
Здравствуйте, kokaku, Вы писали:

K>Возможно сделать проще?

Можно, но за деньги
https://www.qt.io/qt-for-device-creation/
https://blog.qt.io/blog/2018/05/03/qt-microncontrollers-mcu/
или подождать год и Qt6, там у них уже будет полностью свой графический стэк, cmake и создавать будет проще.
Re[2]: Сборка под специфичную платформу
От: AlexGin Беларусь  
Дата: 19.08.19 11:46
Оценка:
Здравствуйте, Igore, Вы писали:

I>или подождать год и Qt6, там у них уже будет полностью свой графический стэк, cmake и создавать будет проще.


Меня не покидает мысль, что поначалу в Qt6 всё будет весьма сырое. Так что подождать придётся года два-три
Re: Сборка под специфичную платформу
От: Skorodum Россия  
Дата: 19.08.19 13:20
Оценка:
Здравствуйте, kokaku, Вы писали:

K>Дратути!


K>Есть специфическая железка. Для нее собран gcc. С помощью последнего собрали Qt(только библиотеки. qmake например нет).

K>Как, малой кровью, имея точно такую же версию Qt на ПК, собрать приложение.

K>Простое qmake -makefile project.pro формирует Makefile в котором устанешь руками менять путь до либов, путь до хеадеров, путь до компилятора.

K>Возможно сделать проще?
Любой другой системой сборки: например, CMake. Указываете нужный компилятор и пути к вашей специальной версии библиотеки. В чем проблема?
Re[2]: Сборка под специфичную платформу
От: Zhendos  
Дата: 19.08.19 14:40
Оценка:
Здравствуйте, Skorodum, Вы писали:

K>>Простое qmake -makefile project.pro формирует Makefile в котором устанешь руками менять путь до либов, путь до хеадеров, путь до компилятора.

K>>Возможно сделать проще?
S>Любой другой системой сборки: например, CMake.

Думаю не будет работать,

конструкции типа такой в CMakeLists.txt

find_package(Qt5Widgets REQUIRED)


на самом деле вызывают qmake для получения информации о том,
какая у Qt версия и где находятся все нужные файлы.
Вручную конечно все это тоже можно сделать, но про трудозатратам
не сильно будет отличаться от написания Makefile вручную для небольшого проекта.
Ведь вместе с cmake кодом который использует qmake идут и весь остальной код,
чтобы moc вызывать и так далее.
Re[3]: Сборка под специфичную платформу
От: Skorodum Россия  
Дата: 19.08.19 14:51
Оценка:
Здравствуйте, Zhendos, Вы писали:

Z>Думаю не будет работать,

Z>конструкции типа такой в CMakeLists.txt

Z>
Z>find_package(Qt5Widgets REQUIRED)
Z>


Z>на самом деле вызывают qmake для получения информации о том,

Z>какая у Qt версия и где находятся все нужные файлы.
Так конечно не будет, ручками надо.

Указываете нужный компилятор и пути к вашей специальной версии библиотеки.


Z>Вручную конечно все это тоже можно сделать, но про трудозатратам

Z>не сильно будет отличаться от написания Makefile вручную для небольшого проекта.
Только что именно это для Matlab делал, CMake хочет полноценно установелнный матлаб, чтобы найти библиотеки, пришлось немного похачить его чтобы работал с минимальным достаточным набором. Никаких особых проблем.
Для небольшого проекта в приципе особой разницы нет между CMake и Makefile.

Z>Ведь вместе с cmake кодом который использует qmake идут и весь остальной код,

Z>чтобы moc вызывать и так далее.
Про мок я как-то забыл, но может он и не используется у них, раз qmake не собрали
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.