桌面应用【免费下载链接】QOwnNotesQOwnNotes is a plain-text file notepad and todo-list manager with Markdown support and Nextcloud / ownCloud integration.项目地址https://gitcode.com/gh_mirrors/qo/QOwnNotes点击查看免费下载本篇技术指南以 QOwnNotes 官方文档《Building QOwnNotes》为核心骨架系统讲解如何从源码自行构建这款纯文本 Markdown 笔记与待办事项管理器。你将掌握三条完整可用的构建路线基于release分支与git submodule的源码获取、使用 QtCreator 图形化调试构建、终端下的lrelease qmake make命令链以及借助 Nix 包管理器与 Devenv 的声明式构建方案并理解背后的项目结构与构建系统原理。从源码构建前的准备QOwnNotes 是一个采用 Qt 框架开发的桌面应用源码工程同时提供了两种构建系统基于 qmake 的工程文件 src/QOwnNotes.pro以及 CMake 构建文件 src/CMakeLists.txt。官方文档中的“从 GitHub 构建”与“终端直接构建”两条路线均以 qmake 为主而 Nix 构建默认走 CMake 路线见 default.nix 中的cmakeFlags但也可以通过USE_SYSTEM_BOTAN等 qmake 参数切换。获取源码release 分支 子模块构建的第一步是获取源码。官方文档推荐直接克隆最后一个发布版本的代码git clone https://github.com/pbek/QOwnNotes.git -b release cd QOwnNotes git submodule update --init这里有三点值得注意-b releaserelease分支始终指向最近一次发布的源码状态比使用main分支更稳定适合只想构建可运行版本的用户git submodule update --init必不可少QOwnNotes 依赖多个内置第三方库如 src/libraries/botan、src/libraries/qmarkdowntextedit、src/libraries/sonnet、src/libraries/qtkeychain 等它们以 git 子模块形式存在。从 src/QOwnNotes.pro 中的include(...)语句可以看到这些子模块通过.pri文件被直接编译进主程序当前版本号仓库根目录 src/version.h 中定义了#define VERSION 26.10.3即当前仓库对应的版本。如果你打算向项目贡献源码请将 pull request 提交到main分支并先阅读官方文档 代码贡献指南遵循其提交规范如#3568 mainwindow: allow dragging text file to import as note这样的消息格式。路线一使用 QtCreator 进行图形化构建与调试对于调试场景官方文档明确建议使用 QtCreator。由于 QOwnNotes 依赖 Qt 的 WebSocket 模块源码中 src/QOwnNotes.pro 第 7 行声明了QT ... websockets ...在使用 Qt6 构建时必须额外安装qtwebsockets包在 Windows 上应选择MinGW 64-bit工具链这是与项目 qmake 工程兼容性最好的选择而在 Linux 发行版上通常可以从软件源中直接安装 QtCreator。具体操作步骤下载并安装 Qt Creator开源离线安装包确保配套 Qt 版本包含qtwebsockets模块打开项目工程文件src/QOwnNotes.pro在菜单中点击Build/Build Project QOwnNotes。QtCreator 会自动解析 src/QOwnNotes.pro 中的全部SOURCES、HEADERS、FORMS与RESOURCES条目——该工程文件涵盖了约 300 个源文件、数十个.ui界面文件以及 images.qrc、demonotes.qrc、qownnotes.qrc 等资源文件因此首次加载工程时 QtCreator 需要一定时间完成解析。路线二终端命令行构建lrelease qmake make如果你熟悉 qmake 构建流程可以直接在终端中完成构建这也是官方文档给出的核心命令序列cd src # 构建二进制翻译文件如果你需要除英语以外的其他语言 lrelease QOwnNotes.pro # 准备构建过程并编译应用程序 qmake make各命令的作用与原理解析lrelease QOwnNotes.pro读取 src/QOwnNotes.pro 中TRANSLATIONS变量列出的约 70 个语言翻译文件如QOwnNotes_zh_CN.ts、QOwnNotes_pl.ts、QOwnNotes_de.ts等将它们编译为运行时加载的.qm二进制翻译文件。该命令来自 Qt 的qttools工具集如果只使用英语界面可以跳过qmake基于 src/QOwnNotes.pro 生成平台相关的 Makefile。qmake 会读取工程文件顶部的QT core gui widgets sql svg network xml printsupport qml websockets concurrent声明Qt6 下还会追加quick模块并根据QT_MAJOR_VERSION自动判断启用哪些特性make调用系统的编译器GCC/Clang完成编译链接最终在当前目录生成可执行文件QOwnNotes。qmake 构建的一些可选项从 src/QOwnNotes.pro 中可以进一步了解到 qmake 支持的条件编译开关CONFIG DEV_MODE启用开发者模式会开启预编译头文件PRECOMPILED_HEADER pch.h并在 Linux非 macOS上启用-Werror -pedantic等严格编译选项适合开发调试USE_SYSTEM_BOTAN选择使用系统安装的 Botan 加密库CONFIG USE_SYSTEM_BOTAN1还是内置的 Botan 库。Nix 的 qmake 构建build-systems/nix/default-qmake.nix默认开启USE_SYSTEM_BOTAN1而 Qt5 构建build-systems/nix/default-qt5.nix因为兼容性原因设置为USE_SYSTEM_BOTAN0内置 Botan2CONFIG USE_QLITEHTML仅在 Qt6 下启用src/QOwnNotes.pro 中通过greaterThan(QT_MAJOR_VERSION, 5)判断用于开启基于 qlitehtml 的 HTML 渲染支持。直接源码构建的完整命令参考除了官方文档中的原始命令外仓库根目录的 justfile 还提供了与文档命令完全对等的自动化封装方便对比与校验# justfile 中的 src-build 配方等价于 mkdir -p build-QOwnNotes cd build-QOwnNotes qmake CONFIGdebug USE_SYSTEM_BOTAN1 ../src/QOwnNotes.pro CONFIGDEV_MODE make -j$(nproc)这种“外部构建目录”方式不会污染src/源码目录是更推荐的实践。构建完成后可通过./build-QOwnNotes/QOwnNotes直接运行macOS 下可执行文件位于./build-QOwnNotes/QOwnNotes.app/Contents/MacOS/QOwnNotes见 justfile 的src-run配方。路线三使用 Nix 与 Devenv 构建官方文档还提供了基于 Nix 生态的构建方案要求本机已安装 Nix 包管理器 与 Devenv# 打开包含所有所需工具的 shell devenv shell # 构建应用程序 just nix-build # 运行构建好的应用程序 just nix-runNix 构建背后的原理devenv shell读取仓库根目录 devenv.nix进入一个包含完整工具链的开发环境。该文件声明了just、cmake、botan3、libsecret、pkg-config、libclang等工具以及来自 unstable Qt6 包的qmake、qttools、qtbase、qtdeclarative、qtsvg、qtwebsockets——其中qtwebsockets正是官方文档强调的必备模块。进入 shell 时还会通过update-qmake-symlinks脚本在环境中建立qmake6/qmake5符号链接供 QtCreator 与 CLion 使用just nix-build执行 justfile 中的nix-build配方实际运行nix build .?submodules1#qownnotes-qt6。submodules1参数确保 Nix 在构建时也会拉取并编译 git 子模块这与文档第一步的git submodule update --init是同一逻辑just nix-run运行./result/bin/QOwnNotes --session test即通过nix build产生的result符号链接启动应用。不同 Qt 版本的 Nix 构建目标flake.nix 中为不同场景预定义了多个构建目标你可以按需选用构建目标说明qownnotes-qt6默认 Qt6 构建对应just nix-buildqownnotes-qt6-qlitehtmlQt6 qlitehtml 渲染支持just nix-build-qt6-qlitehtmlqownnotes-qt5Qt5 构建just nix-build-qt5qownnotes-qt5153固定 Qt 5.15.3 版本构建qownnotes-qt69固定 Qt 6.9 版本构建defaultqt6Packages.callPackage的默认包此外还有两个实用变体nix-build-system使用运行系统自身的 nixpkgs--override-input nixpkgs nixpkgs使 Qt 版本与桌面环境的 Qt 插件如 KDE Plasma 平台主题匹配vm-test/vm-test-interactive则通过 NixOS VM 测试框架tests/vm/qownnotes.nix进行交互式自动化验证。Nix 构建产物中Linux 下会同时安装QOwnNotes与qownnotes两个命令后者为符号链接并利用xvfb-run为 bash 与 fish 生成 shell 补全见 default.nix 的postInstall段。源码归档Source archive除了从 git 仓库克隆构建官方还通过 GitHub Releases 发布独立的源码归档可直接下载解压后按前面任意一种方式构建。归档命名遵循固定模式例如https://github.com/pbek/QOwnNotes/releases/download/v23.7.0/qownnotes-23.7.0.tar.xz即路径为releases/download/v版本号/qownnotes-版本号.tar.xz将示例中的23.7.0替换为实际版本号即可获取对应归档。构建系统选型建议综合官方文档与仓库源码三条路线各有适用场景QtCreator图形化最适合日常开发调试——可以断点调试、查看 Qt 信号槽调用链官方文档也特别强调“For debugging, its easiest to use QtCreator”qmake make终端最轻量直接适合脚本化构建或在无图形界面的环境中编译也是 CI 常用的方式Nix Devenv提供完全可复现、依赖自足的构建环境无需手动安装 Qt 工具链且能按需选择 Qt5/Qt6 及不同补丁版本对 NixOS 用户或需要严格版本控制的场景最为友好。无论选择哪条路线构建完成后你都可以通过 webpage/src/installation 下的各平台安装文档了解运行与配置细节。若在构建中遇到问题可以在项目的 issues 页面反馈并附上你的构建环境信息以便排查。赞分享桌面应用【免费下载链接】QOwnNotesQOwnNotes is a plain-text file notepad and todo-list manager with Markdown support and Nextcloud / ownCloud integration.项目地址https://gitcode.com/gh_mirrors/qo/QOwnNotes点击查看免费下载相关推荐QOwnNotes 从源码构建全指南git clone qmake 终端构建、Qt Creator 与 Nix/Devenv 三路实战QOwnNotes 从源码构建全指南git clone qmake 终端构建、Qt Creator 与 Nix/Devenv 三路实战 QOwnNotes桌面应用QOwnNotes 从源码编译构建全指南Qt/qmake 与 Nix 双路线实战QOwnNotes 从源码编译构建全指南Qt/qmake 与 Nix 双路线实战 本指南以 QOwnNotes 官方安装文档 webpage/src/es/桌面应用从源码构建 QOwnNotesQt/qmake、CMake 与 Nix 三种构建路线全解析从源码构建 QOwnNotesQt/qmake、CMake 与 Nix 三种构建路线全解析 本文围绕 QOwnNotes 官方构建指南展开完整讲解从 Git桌面应用创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考