ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

从零编译ScreenCloud:Ubuntu、macOS与Windows构建实战指南

从零编译ScreenCloud:Ubuntu、macOS与Windows构建实战指南 从零编译ScreenCloudUbuntu、macOS与Windows构建实战指南【免费下载链接】screencloudScreenshot sharing application for Windows, Mac and Linux.项目地址: https://gitcode.com/gh_mirrors/sc/screencloud如果你正在寻找一款开源、免费且跨平台的截图分享工具那么 ScreenCloud 一定值得一试。它支持 Windows、macOS 和 Linux 三大系统截图后可以一键保存本地、上传云端并自动把链接复制到剪贴板内置的图片编辑器还能让你快速标注。本篇文章将是一份完整的ScreenCloud 编译教程手把手带你从零开始在 Ubuntu、macOS 与 Windows 上完成ScreenCloud 源码编译即使你是第一次接触 CMake 构建的新手也能顺利跑通。为什么值得自己动手编译 ScreenCloud在开始ScreenCloud 编译之前先聊聊为什么。✅获取最新功能官方安装包更新有周期自己编译可以第一时间用上最新代码。✅深度定制你可以修改源码、更换图标、调整行为打造属于自己的截图工具。✅学习价值ScreenCloud 完整使用了Qt6 CMake的现代构建体系编译一遍等于上了一堂实战课。✅离线/内网部署在内网环境无法下载安装包时源码编译是唯一途径。整个项目的核心构建逻辑非常清晰主入口在根目录的CMakeLists.txt版本号、平台分支、依赖查找都在这里定义配套的依赖查找脚本放在cmake/modules/目录下例如FindPythonQt.cmake、FindQuaZip.cmake正是它们让一套代码、三平台编译成为可能。编译前的统一准备环境依赖一览ScreenCloud 无论在哪一个平台编译都依赖以下几类核心组件先有个整体概念后面才不会手忙脚乱依赖组件作用说明Qt6图形界面、网络、多媒体需要 Widgets、Network、Xml、Svg、Multimedia、UiTools 等模块CMake构建系统版本需不低于 2.8.12建议直接用新版Python 3插件脚本引擎3.3 及以上版本PythonQtPython 与 Qt 的绑定层插件系统的关键QuaZip压缩支持用于处理压缩包相关功能zlib压缩库QuaZip 的基础依赖源码获取方式也很简单直接克隆仓库即可git clone https://gitcode.com/gh_mirrors/sc/screencloud cd screencloudUbuntu 编译 ScreenCloud 详细步骤最省心路线Linux 平台是ScreenCloud 编译体验最好的环境因为大部分依赖都可以通过 apt 直接安装。第一步安装编译工具链与 Qt6 依赖在终端中依次执行sudo apt update sudo apt install -y build-essential cmake git sudo apt install -y qt6-base-dev qt6-base-private-dev qt6-svg-dev \ qt6-multimedia-dev qt6-tools-dev qt6-5compat-dev sudo apt install -y python3-dev zlib1g-dev libssl-dev 小提示qt6-base-private-dev必不可少因为 ScreenCloud 用到了 Qt6Gui 的私有头文件QPA 相关功能缺少它会在编译时报找不到头文件的错误。第二步编译并安装 QuaZipQuaZip 在 Ubuntu 的软件源里不一定有匹配 Qt6 的版本建议直接从源码构建git clone https://github.com/stachenov/quazip.git cd quazip cmake -B build -DCMAKE_INSTALL_PREFIX/usr sudo cmake --build build --target install cd ..第三步编译并安装 PythonQtPythonQt 是插件系统的发动机官方源里通常没有需要自己动手。参考deploy/linux/snapcraft.yaml中的构建方式git clone https://github.com/mevislab/PythonQt.git cd PythonQt # 先生成绑定代码 qmake6 CONFIGgenerator_only CONFIGRelease PythonQt.pro make -j$(nproc) cd generator QTDIR/usr/include/qt6 ./pythonqt_generator qtscript_masterinclude.h build_all.txt cd .. # 再编译完整运行时 qmake6 CONFIGRelease CONFIGexclude_generator PREFIX/usr PythonQt.pro make -j$(nproc) sudo make install cd ..第四步配置并编译 ScreenCloud一切就绪后回到 ScreenCloud 源码目录开始CMake 构建cmake -B build -DCMAKE_BUILD_TYPERelease -DCMAKE_INSTALL_PREFIX/usr cmake --build build -j$(nproc)构建成功后即可安装sudo cmake --install build安装过程会自动把图标res/icons/icons_linux/下的多尺寸 PNG、桌面启动文件res/net.screencloud.screencloudapp.desktop以及 Python 模块res/modules/ScreenCloud.py放到系统对应目录无需手动搬运。macOS 从源码构建 ScreenCloud 教程macOS 上的构建流程与 Linux 大同小异但有几个苹果平台的专属注意事项。环境准备Xcode Qt6从 App Store 安装Xcode并执行xcode-select --install安装命令行工具。安装CMake和Qt6推荐通过tools/install-qt.sh脚本自动下载该脚本支持指定版本与工具链./tools/install-qt.sh --version 6.8.0 --toolchain clang_64 qtbase qtsvg qtmultimedia qttools用同样的方式编译安装 QuaZip 与 PythonQt步骤同 Ubuntu。编译 ScreenCloud.appcmake -B build -DCMAKE_BUILD_TYPERelease cmake --build build -j$(sysctl -n hw.ncpu)macOS 分支会额外编译一个ScreenCloudHelper登录启动辅助程序见ScreenCloudHelper/CMakeLists.txt它负责开机自启功能需要用到 Xcode 自带的ibtool编译 XIB 界面文件所以必须确保 Xcode 完整安装否则会在配置阶段直接报错。构建完成后生成的screencloud.app已经自动打包好了 Qt 插件、qt.conf、Info.plist和图标res/icons/icons_mac.icns直接把.app拖进应用程序文件夹就能运行。Windows 下编译 ScreenCloud 完整流程Windows 编译相对硬核但按步骤来也不难。第一步安装 MSVC 工具链与 Qt6安装Visual Studio 2022勾选使用 C 的桌面开发工作负载。下载Qt6的win64_msvc2022_64版本并安装。安装CMake与Python 3安装时记得勾选Add to PATH。编译安装 QuaZip 与 PythonQt用 VS 的 x64 Native Tools 命令提示符执行相同的 qmake 流程。第二步配置与编译打开x64 Native Tools Command Prompt for VS 2022执行set PATHC:\Qt\6.8.0\msvc2022_64\bin;%PATH% cmake -B build -G Visual Studio 17 2022 -A x64 -DCMAKE_BUILD_TYPERelease cmake --build build --config Release第三步生成 MSI 安装包可选ScreenCloud 的 Windows 分支会在构建后自动调用deploy/windows/build_installer.bat借助WiX Toolset生成 MSI 安装程序。前提是将 WiX 的candle.exe、light.exe、heat.exe加入 PATH提前安装 WiX 3.11 及以上版本。build_installer.bat内部会用heat收集 Python DLLs 与 modules 目录再通过candlelight打包最终产物是ScreenCloud-1.6.1-x86_64.msi双击即可安装。编译常见问题与解决方案避坑清单自己动手编译几乎不可能一帆风顺这里把最常踩的坑提前列出来问题现象原因分析解决办法Could not find PythonQtPythonQt 未安装或版本不匹配参考cmake/modules/FindPythonQt.cmake它优先尝试Qt6Python3xx等上游 CMake 配置请确保安装的 PythonQt 带对应 config找不到 Qt6 私有头文件缺少qt6-base-private-devLinux补装该开发包后重新 cmakemacOS 报ibtool can not be foundXcode 未完整安装执行xcode-select --install并重启终端Windows 运行时提示缺 DLLQt 运行时未就绪确认 PATH 中已加入 Qt 的 bin 目录或重新运行构建以触发 fixup_bundlePython 版本冲突系统存在多个 Python可在CMakeLists.txt中通过PYTHON_USE_PYTHON3选项控制默认即使用 Python 3编译很慢全量构建使用-j$(nproc)或-j指定并行任务数结语一次编译三端收获到这里你已经成功在Ubuntu、macOS 与 Windows上完成了ScreenCloud 编译。整个过程虽然涉及 Qt6、CMake、PythonQt、QuaZip 等多个环节但只要理解了依赖关系就只是按顺序执行而已。编译完成的 ScreenCloud支持三种截图方式全屏、选区、窗口、快捷键即时触发、系统托盘常驻配合插件还能上传到 FTP、Imgur、Dropbox 等各类服务日常使用完全够用。如果你在编译过程中遇到了本文没有覆盖到的问题欢迎把报错信息记录下来对照CMakeLists.txt与cmake/modules/下的查找脚本逐项排查通常很快就能定位到原因。动手试试吧编译成功的那一刻你收获的不只是一个截图工具更是对 Qt 跨平台构建体系的完整理解。【免费下载链接】screencloudScreenshot sharing application for Windows, Mac and Linux.项目地址: https://gitcode.com/gh_mirrors/sc/screencloud创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表