# qt_cp **Repository Path**: coolforv/qt_cp ## Basic Information - **Project Name**: qt_cp - **Description**: qt跨平台项目,Windows、安卓、Linux、Web(WASM)等,主要修复安卓界面存在的所有问题。 安卓存在的bug已反馈到官网:https://forum.qt.io/topic/159000/the-latest-version-of-qt6-has-a-bug?_=1767842349074 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-08 - **Last Updated**: 2026-01-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # QT 跨平台项目(Windows/Android/WebAssembly) 基于 Qt 6.7.1+6.9.1 开发的跨平台项目,支持 Windows、Android(SDK33)、WebAssembly(WASM)三大平台,集成网络、多媒体(安卓)等核心模块,针对各平台做了专属适配(如 Windows 中文编码、安卓 SDK 兼容、WASM 构建路径等)。 ## 环境要求 | 平台 | 核心依赖 | 额外说明 | |--------------|--------------------------------------------------------------------------|--------------------------------------------------------------------------| | 通用 | Qt 6.7.1(**必须**,安卓版本强依赖此版本) | 需配置 Qt 环境变量,确保 qmake、编译器路径正确 | | Windows | MSVC 编译器(处理 UTF8 中文乱码)、OpenSSL 库(32/64 位) | OpenSSL 需放在 `library/openssl/lib/32`(32位)/`64`(64位)目录下 | | Android | Android SDK 33、Android OpenSSL 集成包 | Qt 官方 jar 存在 bug,需手动替换;适配关键点见 `main.cpp` 第 37 行 | | WebAssembly | Qt 6.9.1 WASM 编译环境 | 需提前配置 Qt for WASM 工具链 | ## 编译步骤 ### 通用准备 1. 克隆本仓库到本地: ```bash git clone [仓库地址] cd [项目目录] ``` 2. 打开 Qt Creator,选择「打开文件或项目」,导入项目根目录的 `.pro` 文件。 ### Windows 平台编译 1. 在 Qt Creator 中选择「Kit」为 MSVC 2019/2022(x86 或 x64); 2. 确认 `library/openssl` 目录下已放置对应位数的 OpenSSL 库(`libcrypto.lib`/`libssl.lib`); 3. 点击「构建」,编译产物会输出到 `build/bin` 目录; - 生成的可执行文件命名规则:`qt_cp_1.1.1_x86.exe`(32位)/`qt_cp_1.1.1_x64.exe`; - 已内置程序图标(`res/20240919.ico`),并解决 MSVC 编译的 UTF8 中文乱码问题。 ### Android 平台编译 1. 在 Qt Creator 中选择「Kit」为 Qt 6.7.1 for Android(SDK 33); 2. **关键操作**:替换 Qt 官方存在 bug 的 jar 文件(适配 2026年1月6日 最新兼容版本); 3. 确认 Android OpenSSL 集成路径:`C:/Users/Administrator/AppData/Local/Android/Sdk/android_openssl/openssl.pri`; 4. 参考 `main.cpp` 第 37 行的安卓适配代码,确认适配逻辑; 5. 点击「构建」,生成的 APK 版本号与项目 `VERSION`(1.1.1)一致。 ### WebAssembly 平台编译 1. 在 Qt Creator 中选择「Kit」为 Qt 6.9.1 for WebAssembly; 下载3.1.70 版本:emsdk install 3.1.70,激活版本:emsdk activate 3.1.70 2. 点击「构建」,编译产物(`qt_cp.html`/`qt_cp.js`/`qt_cp.wasm` 等)会输出到 `build/bin` 目录; 3. 直接在浏览器中打开 `qt_cp.html` 即可运行 Web 版本。 ## 关键配置说明 1. **版本定义**: - Windows/Web:通过 `DEFINES += APP_VERSION` 定义(Windows:1.1.1,Web:1.0.0); - Android:版本号与 `VERSION` 一致(`ANDROID_VERSION_NAME=1.1.1`); - 全局定义:`APP_NAME` 为编译后的目标文件名,`APP_CONFIG` 为配置文件标识(`qt_cp_info1.0.260108`)。 2. **模块依赖**: - 通用模块:`core`、`gui`、`network`、`widgets`; - 安卓额外模块:`multimedia`、`multimediawidgets`(多媒体支持)。 3. **资源文件**: - 通用资源:`res.qrc`; - Web 专属资源:`res/web/web_res.qrc`。 ## 注意事项 1. 安卓编译**必须**使用 SDK 33 + Qt 6.7.1,其他版本可能存在兼容问题; 2. Qt 6.7.1 官方 jar 文件存在 bug,编译安卓版本前需手动替换; 3. Windows 平台需确保 OpenSSL 库路径正确,否则会链接失败; 4. 2026年1月6日的安卓适配关键逻辑在 `main.cpp` 第 37 行,请勿随意修改; 5. Web 版本产物仅需将 `build/bin` 目录下的文件部署到 Web 服务器即可访问。 ## 项目结构 ``` ├── android/ # 安卓原生配置文件(Manifest、gradle、Java 源码等) ├── extensions/ # 扩展库(extensions.pri) ├── library/openssl/ # Windows OpenSSL 库(32/64位) ├── res/ # 资源文件(图标、Web 资源等) │ ├── web/ # Web 专属资源 │ └── 20240919.ico # Windows 程序图标 ├── main.cpp # 程序入口(含安卓适配关键代码) ├── mainwindow.* # 主窗口源码/头文件 ├── mainwindow.ui # 主窗口UI文件 ├── res.qrc # 通用资源配置 └── [项目名].pro # 项目核心配置文件 ``` ### 总结 1. 项目核心依赖 Qt,安卓平台需配套 SDK 33 并替换官方 bug jar; 2. 不同平台编译需选择对应 Kit,Windows 依赖 OpenSSL、Web 产物输出到 build/bin; 3. 安卓适配关键逻辑在 `main.cpp` 第 37 行,是 2026年1月6日 验证的兼容方案。