20 Commandments for Building Qt Projects with Modern CMake

20 Commandments for Building Qt Projects with Modern CMake

1. Basic Principles Commandment 1: Minimum Version Declaration cmake_minimum_required(VERSION 3.21) # Requires support for Qt6's AUX_SOURCE_DIRECTORY improvementproject(MyApp VERSION 1.2.3 LANGUAGES CXX) Commandment 2: Strict Policy Configuration # Enforce interface compatibility checks cmake_policy(SET CMP0063 NEW) # Target link library order cmake_policy(SET CMP0079 NEW) # Target import file generation 2. Qt Integration Standards Commandment 3: Modular Qt … Read more

Crypto++: A Powerful C++ Encryption Library

Crypto++: A Powerful C++ Encryption Library

Crypto++: A Powerful C++ Encryption Library 1. Introduction Crypto++ is a free C++ library that includes a variety of encryption algorithms and schemes. It was developed by Wei Dai and aims to provide developers with a powerful and easy-to-use encryption tool. Whether for protecting data security in software development or ensuring information security in communications, … Read more

Cross-Platform Embedded Development Toolchain: PlatformIO

Cross-Platform Embedded Development Toolchain: PlatformIO

Scan to FollowLearn Embedded Together, learn and grow together Introduction PlatformIO is a cross-platform embedded development toolchain that supports over 50 development platforms and more than 2000 development boards. Official resource link (copy to browser to open): https://docs.platformio.org/en/latest/what-is-platformio.html It integrates features such as a build system, library management, debugging tools, and continuous integration, providing embedded … Read more

Struggling to Find Paths with CMake? The Find Family Commands Make It Easy!

Struggling to Find Paths with CMake? The Find Family Commands Make It Easy!

Click the blue text to follow the author 1. Introduction In complex software projects, dependency management is one of the core challenges during the build process. When we use CMake to build projects, we often need to introduce external libraries, header files, executables, or configuration files. Manually specifying the paths for these external dependencies can … Read more

DAPLink: A One-Stop Solution for Embedded Programming, Debugging, and Serial Logging

DAPLink: A One-Stop Solution for Embedded Programming, Debugging, and Serial Logging

Developers working on embedded systems have certainly encountered issues such as tedious programming, difficult debugging, and lengthy log collection. Today, I would like to recommend a powerful tool—DAPLink—that provides a one-stop solution for programming, debugging, and serial logging, making the process incredibly smooth! What is DAPLink? In simple terms, DAPLink is firmware that runs on … Read more

Cross-Platform TTY Shell Implementation in C++ (Part 2) – Server Implementation and Advanced Features

Cross-Platform TTY Shell Implementation in C++ (Part 2) - Server Implementation and Advanced Features

Disclaimer:The user is responsible for any direct or indirect consequences and losses caused by the dissemination and use of the information provided by this public account. The public account and the author do not bear any responsibility for this, and any consequences must be borne by the user! 01 Core Architecture of the Server In … Read more

[Open Source] RustDesk: A Revolutionary Choice for Open Source Remote Desktop

[Open Source] RustDesk: A Revolutionary Choice for Open Source Remote Desktop

🚀 Project Overview RustDesk is an open-source remote desktop software written in Rust, designed to be the perfect alternative to TeamViewer. It is ready to use out of the box, requiring no complex configuration, allowing you to have complete control over your data without worrying about security issues. Project Address: https://github.com/rustdesk/rustdesk ✨ Core Features 🔧 … Read more

Goodbye printf! Efficient Logging Solutions for Embedded Systems

Goodbye printf! Efficient Logging Solutions for Embedded Systems

Click the aboveblue text to follow us In the field of embedded system development, logging systems are like black boxes in the digital world, carrying key information about the system’s operational status. The traditional printf debugging method, while simple and easy to use, exposes significant issues such as low efficiency, high resource consumption, and poor … Read more

Introduction to CMake Basics

Introduction to CMake Basics

Introduction to CMake 1. Overview of CMake CMake is a project build tool that is cross-platform. Other popular project build tools include Makefile (which builds projects using the Make command). Most IDEs integrate make, such as: nmake for VS, GNU make for Linux, and qmake for Qt. If you write a makefile by hand, you … Read more

PyQt: The Golden Combination for Python GUI Development

PyQt: The Golden Combination for Python GUI Development

1. Core Positioning of PyQt PyQt is the Python binding for the Qt framework, seamlessly porting the C++ Qt library to the Python ecosystem, providing: Cross-platform capability: Full support for Windows/macOS/Linux Dual licensing model: GPL (open source and free) and commercial license (closed source for commercial use) Modular architecture: Includes core modules such as QtWidgets … Read more