# Orange **Repository Path**: ym333mmm/orange ## Basic Information - **Project Name**: Orange - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-03-27 - **Last Updated**: 2025-04-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CPython独立执行文件编译工程 ## 项目概述 本项目旨在将社区版CPython解释器进行定制化精简,编译生成可在Windows平台独立运行的单一可执行文件。该方案基于LLVM工具链实现,支持Python 3.10及以上版本,具备完整的调试能力[2][5]。 ## 技术方案 1. **LLVM工具链适配** 采用MinGW编译的LLVM 12.0.0版本工具链,通过`BUILD_SHARED_LIBS=ON`参数生成动态链接库,确保Pass插件机制正常工作[2]。使用`LLVM_ENABLE_PLUGINS`选项开启插件支持,配合`registerPipelineParsingCallback`实现编译期扩展[2]。 2. **Python运行时精简** 移除非必要的标准库模块和调试符号,通过CMAKE配置`-DLLVM_INCLUDE_TESTS=OFF`关闭测试组件,使用`-DBUILD_SHARED_LIBS=ON`生成轻量化运行时[2][4]。 3. **依赖项打包** 集成libstdc++、libwinpthread等运行时库到最终可执行文件,确保无外部DLL依赖[2][5]。通过静态链接方式合并Python解释器核心与标准库[5]。 ## 环境要求 - Windows 10/11 64位系统 - Visual Studio 2019 (16.11+) - MSYS2环境 (包含MinGW-w64工具链) - Python 3.10+ 运行时 - CMake 3.20+ ## 编译流程 1. **工具链配置** 安装MSYS2后执行: ```bash pacman -S --needed base-devel mingw-w64-x86_64-toolchain cmake -G "MinGW Makefiles" -DLLVM_TARGETS_TO_BUILD="X86" -DLLVM_ENABLE_PROJECTS="clang" cmake --build build_dyn_x64 -j4 **Reference** [1][【LLVM】在Windows中配置LLVM开发环境 - CSDN博客](https://blog.csdn.net/qq_43727392/article/details/138185725) [2][[原创] 在 Windows下搭建LLVM 使用环境-编程技术-看雪 ...](https://bbs.kanxue.com/thread-276159.htm) [3][如何才能在windows下独立使用LLVM-Clang 不依赖VS(MSVC ...](https://www.zhihu.com/question/268562772) [4][四、windows上配置llvm+clang环境 - CSDN博客](https://blog.csdn.net/weixin_41080308/article/details/144536540) [5][Windows手动编译llvm源码(clang,clang-tools-extra) - 知 ...](https://zhuanlan.zhihu.com/p/601092952)