尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

macOS 部署 notepad--:十分钟编译跑通

macOS 部署 notepad--:十分钟编译跑通 macOS 部署 notepad--十分钟编译跑通【免费下载链接】notepad--一个支持windows/linux/mac的文本编辑器目标是做中国人自己的编辑器来自中国。项目地址: https://gitcode.com/GitHub_Trending/no/notepad--终端里贴了第三段Could NOT find Qt5的报错你开始怀疑是不是 Qt 版本又抽风了。其实 notepad-- 在 macOS 上的安装没这么玄学——这个支持多标签编辑、语法高亮和文件对比的文本编辑器M 芯片和 Intel 走的是同一条 CMake 路径配置对了十分钟就能出窗口。下面是最短走通路径全程约 10 分钟。环境体检先确认你的机器落在支持范围内缺什么补什么避免编译到一半才回头装依赖。检查项最低要求推荐值不满足时的替代做法macOS 版本10.1412 及以上老系统直接用预编译发布版别硬编译CPU 架构Intel 或 ARMM 系列M 系列原生编译M 芯片上若 Homebrew 是 Intel 版会编出 x86_64 产物见排障表内存4 GB8 GB编译时把并发降为-j1磁盘可用5 GBQt5 源码 构建产物10 GB删旧 build 目录释放Qt 版本5.15必须是 Qt5Homebrewqt5Qt 6 不可用CMakeLists.txt 里写死了find_package(Qt5 ...)CMake3.16最新 3.xcmake_minimum_required(VERSION 3.16)低于此直接报错⚠️ 锁定 Qt 5.15 的原因工程只依赖 Qt5 的 Widgets/PrintSupport/XmlPatterns 组件Qt 6 的模块拆分会让上面这行find_package直接失败而不是报个模糊的链接错误。一键检测当前环境五秒出结果sw_vers uname -m cmake --version ls $(brew --prefix qt5)/lib/cmake/Qt5/Qt5Config.cmake 2/dev/null echo Qt5 OK || echo Qt5 缺失 sysctl -n hw.memsize hw.ncpu df -h . | tail -1编译安装 notepad-- 最短路径这条主线只走一遍五个步骤每步都有验证点。两个要点QScintilla 语法高亮库和 helloworld 插件都被根 CMakeLists 用add_subdirectory拉进来一起编所以不需要单独进入src/qscint/跑 qmakemacOS 产物是裸二进制而不是 .app 包直接在终端运行即可。步骤 1装 Qt5 和构建工具——这一步补齐 CMake 配置时会被find_package引用的全部依赖。brew install qt5 cmake ninja验证点运行ls $(brew --prefix qt5)/lib/cmake/Qt5/Qt5Config.cmake看到该文件存在即通过。步骤 2拿到源码——克隆仓库并进入根目录。git clone https://gitcode.com/GitHub_Trending/no/notepad-- cd notepad--验证点运行ls CMakeLists.txt src/qscint/CMakeLists.txt两个文件都列出即通过。步骤 3CMake 配置——这一步把 Qt5 路径和构建类型写进 CMakeCacheRelease 类型决定静态库最终命名后面别改。cmake -B build \ -DCMAKE_BUILD_TYPERelease \ -DCMAKE_PREFIX_PATH$(brew --prefix qt5)验证点运行grep CMAKE_BUILD_TYPE build/CMakeCache.txt看到Release且结尾没有Qt5 NOT FOUND即通过。如果你在 M 芯片机器上编完发现产物是 x86_64 → 说明 Homebrew 是 Intel 版跳去排障表「产物显示 x86_64」那一行。步骤 4并行编译——这一步耗时最长M 芯片上 QScintilla 的 lexers 目录是主要开销。cmake --build build -j$(sysctl -n hw.ncpu)验证点运行ls -lh build/NotePad--看到可执行文件、且编译结尾是Linking CXX executable NotePad--即通过。步骤 5跑起来——第一次直接终端启动有报错也能当场看到。./build/NotePad--验证点运行./build/NotePad--看到窗口标题 Notepad-- 以及 文件/编辑/查找/视图 菜单栏即通过。![M 芯片 Mac 下 notepad-- 编译完成后的编辑界面含目录列表与多标签页](https://raw.gitcode.com/GitHub_Trending/no/notepad--/raw/4510896f716e71db9f4b25ed8559b9c39a4f23d4/pngshow/macos/2023-10-05 18.04.17.png?utm_sourcegitcode_repo_files)配置与调优锁定 Releaseqscint 库名会随构建类型变化解决「先编过 Debug 再切 Release链接报找不到 qscint」的问题。QScintilla 静态库在 Release 下叫qmyedit_qt5Debug 下叫qmyedit_qt5d见 src/qscint/CMakeLists.txt两者不可混用切换构建类型务必先删 build 目录。字段默认值建议值作用CMAKE_BUILD_TYPE空按 Debug 处理Release决定 qscint 静态库命名与优化级别CMAKE_PREFIX_PATH未设置$(brew --prefix qt5)告诉 CMake 去哪找 Qt5Config.cmake插件开关 PLUGIN_EN解决「不想让主程序加载插件库」的问题。默认不传该变量时插件加载路径开启传on会定义NO_PLUGIN1关掉它注意逻辑是反直觉的见根 CMakeLists.txt 第 23-27 行。字段默认值建议值作用PLUGIN_EN未定义插件启用保持不传传on则添加-DNO_PLUGIN1禁用插件加载中文编码配置解决「打开 GBK 老文件显示乱码」的问题。编码在状态栏右侧下拉框手动切换即可支持 UTF-8、GB18030 等选错编码不会崩溃只是显示乱码选对后重新保存就修好了。编码判断与转换逻辑在 src/Encode.cpp窗口布局、查找历史等设置由 QSettings 以 INI 格式按用户作用域落盘src/cceditor/ccnotepad.cpp不用手动维护配置文件路径。配色主题在 src/themes/ 下有 16 套现成目录Monokai、Bespin、Deep Black 等每套按语言提供 .ini在「设置」里切换改配色不用动代码。![macOS 上 notepad-- 状态栏编码下拉框与查找结果面板显示 UTF-8 与 xml 高亮](https://raw.gitcode.com/GitHub_Trending/no/notepad--/raw/4510896f716e71db9f4b25ed8559b9c39a4f23d4/pngshow/macos/2023-12-23 14.31.45.png?utm_sourcegitcode_repo_files)排障速查只收高频问题一行一个修法。你看到的现象最可能的原因一条修复命令或配置配置时报Qt5 NOT FOUND没传 Qt5 路径CMake 找不到 Qt5Config.cmake配置命令加-DCMAKE_PREFIX_PATH$(brew --prefix qt5)链接阶段报找不到qmyedit_qt5d或 qscint 符号Debug 与 Release 构建类型混用rm -rf build后按步骤 3 重新以Release配置M 芯片上file build/NotePad--显示 x86_64Homebrew 是 Intel 版qt5 也是 x86 二进制换 arm64 版 brew 重装qt5删 build 重编GBK 文件中文乱码编码按 UTF-8 打开了状态栏下拉框手动选 GBK/GB18030 再保存编好但启动报 dylib 加载失败qt5 依赖库缺失或路径断裂brew reinstall qt5后重跑./build/NotePad--以上都没解决 → 先在仓库 Issues 搜索相同现象再提交新 issue 并附完整终端输出。适用边界这条路径产出的是 macOS 本地裸二进制不是 .app 安装包仓库里的 NSIS 安装器配置 cmake/nsis_package_config.cmake 只服务于 Windowsdeb 打包 cmake/deb_package_config.cmake 只服务于 Linux。不想编译就直接取项目的预编译发布版要无图形界面的服务器场景这个 GUI 编辑器不适用。git pull cmake --build build -j$(sysctl -n hw.ncpu)遇到问题先在仓库 Issues 搜索相同现象没有再提交附sw_vers、uname -m和完整报错。【免费下载链接】notepad--一个支持windows/linux/mac的文本编辑器目标是做中国人自己的编辑器来自中国。项目地址: https://gitcode.com/GitHub_Trending/no/notepad--创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表