Creating Virtual Environments (Windows + Linux)

Creating Virtual Environments (Windows + Linux)

🔎 Why Do We Need Virtual Environments? Isolation of Dependencies for Different Projects Project A requires <span>numpy==1.21</span> Project B requires <span>numpy==1.26</span> If installed directly in the system environment, they will conflict; virtual environments allow them to exist independently. Avoid Polluting the System Environment The system’s built-in Python (e.g., <span>/usr/bin/python3</span>) may depend on some critical libraries, … Read more

Struggling with CMake Dependencies? Use This Tool for Easy Visualization!

Struggling with CMake Dependencies? Use This Tool for Easy Visualization!

Introduction: Have you encountered these “dependency hell” issues? Have you ever found yourself debugging a complex CMake project, staring at a screen full of <span>add_subdirectory</span> and <span>target_link_libraries</span>, feeling like you’re solving a maze? Have you wanted to showcase the dependency structure in project documentation, but could only rely on drawing tools to sketch it out … Read more

Best Practices for setup.py and CMakeLists.txt in ROS2

Best Practices for setup.py and CMakeLists.txt in ROS2

In ROS2, both setup.py and CMakeLists.txt can be used simultaneously, but specific integration guidelines must be followed. For projects that contain a mix of Python and C++ code, the best practices are as follows: 1. Implementation of Mixed Builds 1. CMake as the Primary Build System (Recommended) Integrate Python modules in CMake using the ament_cmake_python … Read more

Complete Guide to Modern CMake Configuration

Complete Guide to Modern CMake Configuration

📌Complete Guide to Modern CMake Configuration Table of Contents Basic Project Configuration C++ Standard Settings Compiler Options and Warning Configuration Output Directory Structure Management Environment Detection and Path Configuration Third-Party Dependency Management Target Linking and Visibility Installation Configuration and Deployment Custom Build Targets Complete Example Project Basic Project Configuration Minimum Version Requirement and Project Declaration … 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

Introduction to Makefile Basics: From Compilation Novice to Automation Build Expert

Introduction to Makefile Basics: From Compilation Novice to Automation Build Expert

Introduction: Why Do We Need Makefile? In Windows IDEs, we can simply click the “Build” button to complete the compilation, but behind large projects often lies complex build logic. Makefile is the core tool for achieving automated builds in Linux/Unix environments, acting like a precise conductor that coordinates: Optimization of compilation order Incremental compilation (only … Read more

PaddleOCR’s Pytorch Inference Module

PaddleOCR's Pytorch Inference Module

Overview In this project, we encountered a need for Optical Character Recognition (OCR). However, the best-performing <span>PaddleOCR</span> can only run on Baidu’s <span>PaddlePaddle</span> framework. In common projects, the more widely used Pytorch framework is often preferred. Installing PaddlePaddle separately not only makes the project overly bulky but may also lead to conflicts. In the previous … Read more

Detailed Analysis of Buildroot and Yocto Package Dependency Build Mechanisms: Who is Smarter? Who is More Efficient?

Detailed Analysis of Buildroot and Yocto Package Dependency Build Mechanisms: Who is Smarter? Who is More Efficient?

In the process of building embedded Linux systems, the “capability to handle package dependencies” is one of the core indicators of the maturity of a build system. Today, we will focus on a detailed topic — how Buildroot and Yocto handle package dependencies? What are their respective advantages and disadvantages? This not only concerns build … Read more

Why Can’t I Access the Graphical Interface on My NVIDIA Jetson Development Kit?

Why Can't I Access the Graphical Interface on My NVIDIA Jetson Development Kit?

Late at night, a user suddenly reached out for help, saying that the system on the 64G TF card of the Jetson Xavier NX development kit we provided suddenly could not access the graphical interface. This user is a new user who just bought the NX development kit, and I can almost imagine their panic… … Read more

Essential for Python Developers! Why You Need Virtual Environments: Learn to Manage Project Dependencies Efficiently in 3 Minutes!

Essential for Python Developers! Why You Need Virtual Environments: Learn to Manage Project Dependencies Efficiently in 3 Minutes!

Have you ever encountered these frustrating moments? – Project A requires <span><span>Python 3.7</span></span>, but Project B can only use <span><span>Python 3.10</span></span>, frequently switching versions leads to confusion; – Code that runs perfectly on your local machine throws errors on another computer due to incompatible dependency versions; – When installing a new package, accidentally overwriting critical … Read more