From 2beb1d5508c585813fee0c5bccce08fdc27deeb6 Mon Sep 17 00:00:00 2001 From: Alexander Yee Date: Tue, 3 Dec 2024 02:38:01 -0800 Subject: [PATCH] Qt 6.8.1 --- .../Windows-Install-Qt6.8.1-Components.png | Bin 0 -> 64935 bytes SerialPrograms/Build-Qt6.8.1.md | 93 ++++++++++++++++++ SerialPrograms/README.md | 3 +- 3 files changed, 95 insertions(+), 1 deletion(-) create mode 100644 BuildSetup/Windows-Install-Qt6.8.1-Components.png create mode 100644 SerialPrograms/Build-Qt6.8.1.md diff --git a/BuildSetup/Windows-Install-Qt6.8.1-Components.png b/BuildSetup/Windows-Install-Qt6.8.1-Components.png new file mode 100644 index 0000000000000000000000000000000000000000..e5490c9f7c9c2976702e98ea1bf7d97a721825f6 GIT binary patch literal 64935 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 literal 0 HcmV?d00001 diff --git a/SerialPrograms/Build-Qt6.8.1.md b/SerialPrograms/Build-Qt6.8.1.md new file mode 100644 index 000000000..2e68487ce --- /dev/null +++ b/SerialPrograms/Build-Qt6.8.1.md @@ -0,0 +1,93 @@ +# How to Build (Qt 6.8.1) - Windows + +**(Note: These instructions have not been fully tested for 6.8.1. Let us know if you encounter any issues.)** + +## Build Tools: + +The installation order here is important. While other orderings may work, this is the specific order that we have tested. And the Qt installation must be the last thing installed. + +1. Install Visual Studio 2022: + 1. [Download Page](https://docs.microsoft.com/en-us/visualstudio/releases/2022/release-notes) + 2. Make sure you select the C++ development tools. +2. Install Windows Development SDK: + 1. [Download Page](https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/) +3. Install CMake: + 1. [Download Page](https://cmake.org/download/) + 2. When prompted select, "Add CMake to the system PATH for all users". + +## Install Qt 6.8.1: + +Unlike with Qt 5.12, there is no offline installer for it. So you have two options here, use the online installer, or use a copy of an installation. + +### Official Online Installer: + +If you are ok with creating an account with Qt and using their online installer, then use this method. + +1. Download the online installer from here: https://www.qt.io/download-qt-installer +2. Select custom install settings. +3. Select the following options: + - Qt 6.8.1 + - MSVC 2022 64-bit + - Sources + - Additional Libraries + - Qt Image Formats + - Qt Multimedia + - Qt Serial Port + - Qt Debug Information Files + +![](../BuildSetup/Windows-Install-Qt6.7.3-Custom.png) +![](../BuildSetup/Windows-Install-Qt6.8.1-Components.png) + +If you repeatedly run into an error involving "SSL handshake failed", you will not be able to use the online installer. Please try the other option. + +### Unofficial Installation Copy: + +If you are unable or unwilling to use the online installer, the alternative is to copy an installation directly into your system. To do this, you will need to download the installation from us, and copy it into your C drive. + +1. Join our [Discord server](https://discord.gg/cQ4gWxN) and ask for the link to the Qt6 standalone. Someone will DM you with a link*. +2. Download `Qt6.8.1.7z` and decompress it. You can use [7-zip](https://www.7-zip.org/) to decompress it. This will create a folder with the same name. +3. Move this folder to `C:\`. It will probably ask you for permissions to do it. +4. Navigate to: `C:\Qt6.8.1\Tools\QtCreator\bin\` and create a shortcut to `qtcreator.exe`. Copy this shortcut to somewhere convenient. (By default this shortcut is named, `Qt Creator 15.0.0 (Community)`) + +*This Qt6 standalone file is 3GB in size and is being hosted by our staff for our own developers. We don't want the entire world converging here and overrunning the server. + +## Setup: + +1. Clone this repo. +2. Clone the [Packages Repo](https://github.com/PokemonAutomation/Packages). +3. In the `Packages` repo, copy the `SerialPrograms/Resources` folder into the root of the `Arduino-Source` repo. + +![](../BuildSetup/Directory.png) + +4. Open Qt Creator. +5. Click on `File` -> `Open File or Project`. +6. Navigate to `SerialPrograms` and select `CMakeLists.txt`. +7. It will then ask you to configure the project. Ensure `Desktop Qt 6.8.1 MSVC2022 64bit` and `Release with Debug Information` are selected. + - Ensure the build directory for `Desktop_Qt_6_8_1_MSVC2022_64bit-RelWithDebInfo` is located in the root of the `Arduino-Source` repo, and not buried in subfolders (e.g. `build` or `SerialPrograms`). + - Click `Configure Project`. + +![](../BuildSetup/Windows-configure-project-qt-creator-13.png) + +8. At the bottom left corner, click on the little monitor and select `Release with Debug Information`. + +![](../BuildSetup/Windows-Configuration-Qt6.png) + +9. Still in the bottom left corner, click the upper green arrow to compile and launch the program. + +## Troubleshooting + +### Failed to open '../3rdPartyBinaries/opencv_world460d.zip', or file missing + +- Click `Projects` on the left sidebar. +- In `Build directory`, ensure the build directory for `Desktop_Qt_6_8_1_MSVC2022_64bit-RelWithDebInfo` is located in the root of the `Arduino-Source` repo, and not buried in subfolders (e.g. `build` or `SerialPrograms`). + - e.g. change the default build directory from: `Arduino-Source/SerialPrograms/build/Desktop_Qt_6_8_1_MSVC2022_64bit-RelWithDebInfo` + - to: `Arduino-Source/build-SerialPrograms-Desktop_Qt_6_8_1_MSVC2022_64bit-RelWithDebInfo` + + +
+ +**Discord Server:** + + +[](https://discord.gg/cQ4gWxN) + diff --git a/SerialPrograms/README.md b/SerialPrograms/README.md index 2b7f87d67..9a41fefa3 100644 --- a/SerialPrograms/README.md +++ b/SerialPrograms/README.md @@ -6,8 +6,9 @@ Source code for the "Computer Control" programs. ## How to Build -Currently, we build with Qt 6.7.3. But we still retain compatibility with Qt 5.12. +Currently, we build with Qt 6.8. But we still retain compatibility with Qt 5.12. +- [How to Build (Qt 6.8.1) - Windows](Build-Qt6.8.1.md) - [How to Build (Qt 6.8.0) - Windows](Build-Qt6.8.0.md) - [How to Build (Qt 6.7.3) - Windows](Build-Qt6.7.3.md) - [How to Build (Qt 6.5.3) - Windows](Build-Qt6.5.3.md)