fc16eab7dd | ||
---|---|---|
.gitignore | ||
CMakeLists.txt | ||
LICENSE | ||
README.md | ||
clang_windows_toolchain.cmake | ||
main.cpp |
README.md
Cross Compiling a Qt5 App using Clang and CMake
Example that uses CMake, Clang, and Qt to cross compile a simple application for Windows with MSVC compatibility.
Parts of it based on: https://gist.github.com/HiImJulien/3eb47d7d874fe5483810bd77940e74c0
Requirements
- Clang Version >= 10
- Visual Studio Build Tools: https://visualstudio.microsoft.com/downloads/
- The following components are sufficient:
- MSVC v142 - VS 2019 C++-x64/x86-Buildtools (v14.28)
- Windows 10 SDK (10.0.19041.0)
- The following components are sufficient:
- Qt5: https://download.qt.io/official_releases/qt
- again when installing it is sufficient to install msvc version of Qt5
Instructions Linux
Requirements:
- Qt5 development packages
- Clang 10
Steps
- Copy MSVC build tools into the project directory:
- Copy
C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/<MSVC Version>
tomsvc_build_tools/MSVC
- Copy
- Copy Windows SDK into the project directory:
- From
C:/Program Files (x86)/Windows Kits/10
copy the foldersInclude
tomsvc_build_tools/Kit
Lib
tomsvc_build_tools/Kit
- Both directories have sub directories with the Windows SDK Version as name.
- Adjust
clang_windows_toolchain.cmake
to use the proper Windows SDK Version in variableWINSDK_VER
- From
- Copy the Qt5 msvc development files into the project directory:
- Copy
C:/Qt/Qt5.12.10/5.12.10/msvc2017_64
toqt5_msvc2017_64
- Copy
- Configure project using:
cmake -DCMAKE_TOOLCHAIN_FILE=clang_windows_toolchain.cmake <project dir>
Instructions Windows with JetBrains CLion
Requirements:
- Download and Install Qt5 (MinGW libraries not needed)
- Clang 10 (https://releases.llvm.org/download.html)
- Install MinGW Make
- Install JetBrains CLion (https://jetbrains.com/clion)
Steps (VS Toolchain)
- Open project
- Adjust Toolchain
- Choose Visual Studio Toolchain
- Set CMake Options to:
-DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=C:/llvm/bin/clang-cl.exe -DCMAKE_CXX_COMPILER=C:/llvm/bin/clang-cl.exe -DCMAKE_C_FLAGS=-m64 -DCMAKE_CXX_FLAGS=-m64 -DCMAKE_LINKER=c:/llvm/bin/lld-link.exe
Steps (MinGW Toolchain)
- Open project
- Adjust Toolchain
- Go to Toolchain Settings
- Remove existing Visual Studio Toolchain
- Add MinGW Toolchain
- Adjust CMake Profiles
- Add
-DCMAKE_TOOLCHAIN_FILE=clang_windows_toolchain.cmake
as CMake parameters
- Add
TODO: How to set up debugger?