This repo contains Qt 6 Cross-Compiled for the Raspberry Pi (64-bit) which you can use to build a Qt application for the Rasberry Pi by compiling code on a ubuntu-20.04
machine. The output was generated by following this guide. See our OpenMV IDE repo for how to use the released output to build an application. Note that you need to untar the files and store them under /home/runner/
as the build paths are hardcoded.
If you follow the above guide to generate the sysroot you need to fix relative paths using the code below instead of what the guide says.
wget https://raw.githubusercontent.com/riscv/riscv-poky/master/scripts/sysroot-relativelinks.py
chmod +x sysroot-relativelinks.py
python3 sysroot-relativelinks.py $TARGET_SYSROOT
See this post for more details. Afterwhich, you should be able to tar -czvf rpi-sysroot.tar.gz rpi-sysroot
to create the sysroot tar stored in this repo which is used by github actions for the cross-compile.
This repo includes a valid sysroot image that is already fixed. Here's the uname -a
Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux
Contributions are most welcome. If you are interested in contributing to the project, start by creating a fork:
Clone the forked qt-raspi repository, and add a remote to the main qt-raspi repository:
git clone https://github.com/<username>/qt-raspi.git
git -C qt-raspi remote add upstream https://github.com/openmv/qt-raspi.git
Now the repository is ready for pull requests. To send a pull request, create a new feature branch and push it to origin, and use Github to create the pull request from the forked repository to the upstream openmv/qt-raspi repository. For example:
git checkout -b <some_branch_name>
<commit changes>
git push origin -u <some_branch_name>
Please follow the best practices when sending pull requests upstream. In general, the pull request should:
- Fix one problem. Don't try to tackle multiple issues at once.
- Split the changes into logical groups using git commits.
- Pull request title should be less than 78 characters, and match this pattern:
<scope>:<1 space><description><.>
- Commit subject line should be less than 78 characters, and match this pattern:
<scope>:<1 space><description><.>