最适合算法竞赛的 IDE - RedPanda C++ (小熊猫 C++, 原 Dev-Cpp 小熊猫版) Mac OS 编译指南 (2022.12.24更新)
背景(小熊猫目前支持MacOS, 但是没有官方的MacOS指南, 只能自己动手丰衣足食了!!!)
小熊猫C++ IDE 是一个免费, 开源, 轻量级的 C++ IDE, 针对算法竞赛进行了特别的优化, 支持单文件编译, 支持题目数据自动抓取, 支持批量自动评测, 用起来特别的舒服.
同时, 也是一个跨平台的 IDE, 可以在 Windows, Linux, MacOS(Intel), MacOS(Arm) 上使用, 如无官方发行版, 可以安装好相关依赖, 自己编译.
官方发行版目前有Windows, Linux, 以后计划支持 MacOS.
本文主要记录 MacOS(Arm/M1/M2) 上的编译方法. MacOS(Intel) 的编译方法2022.12.18已实测(MBP Retina, 2014, macOS: 11.6.7). 并没有经过本人实际测试, 请酌情使用. 如有反馈可以在下方评论.
配置环境
安装 Homebrew
Homebrew 是 MacOS(或 Linux)缺失的软件包的管理器. 可以使用 Homebrew 安装 Apple(或您的 Linux 系统)没有预装但 你需要的东西。
官方网址: https://brew.sh/ (英文) https://brew.sh/index_zh-cn (中文)
- 按
Command+Space
并输入终端
,然后按回车
。 - 在终端应用程序中复制并粘贴以下命令:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- 然后按
回车
。按提示输入密码并回车。注意: 输入密码时,不会有任何显示(更安全)。如果提示网络问题, 可以先尝试更改DNS到可靠地址. 一般情况下, 本篇内容涉及网址可能会慢但不会被墙. - 复制/粘贴并运行此命令以使brew命令在终端内可用:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
安装 qt5
qt5: Qt 框架第 5 版, https 😕/www.qt.io/
- 复制并粘贴以下命令:
brew install qt5
- 完毕!
安装 icu4c
ICU4C: ICU4C提供了C/C++平台强大的国际化开发能力,软件开发者几乎可以使用ICU4C解决任何国际化的问题, http 😕/site.icu-project.org/
- 复制并粘贴以下命令:
brew install icu4c
- 完毕!
编译
注意, intel 芯片和 arm 芯片的 qt 安装位置是不一样的, 可以尝试自行替换.
intel: /usr/local/opt/qt5/
arm: /opt/homebrew/opt/qt5/
- 在官方代码仓库中, 点击
Code
->Download Zip
. 如无法访问GitHub, 可访问中文项目地址, 点击克隆/下载
->下载 zip
. 中文地址更新较慢, 且需要注册才可下载, 不做优先选择. - 解压之后, 在
终端
中使用cd
命令进入到解压后的目录, 如:
cd ~/Downloads/RedPanda-CPP-master
- 依次执行以下命令进行编译
mkdir build && cd build
/opt/homebrew/opt/qt5/bin/qmake ..
# 注意, intel的需要替换成: /usr/local/opt/qt5/bin/qmake ..
make -j8
(用intel机器测试的时候, 不知道为什么, 一直找不到unicode/ucnv.h, 怎么配置path都不好使, 一怒之下, 我把/usr/local/Cellar/icu4c/71.1/include/unicode 这个文件夹直接拷到了 ~/Downloads/RedPanda-CPP-master/RedPandaIDE/ 的下边, 然后就编译成功了...)
- 等编译结束, 去 build 文件夹里去找 app 文件, 直接拖入
应用程序
文件夹即可使用. - 如需分给别人使用, 可以用以下命令将编译好的 app 打包成 dmg
/opt/homebrew/opt/qt5/bin/macdeployqt RedPandaIDE/RedPandaIDE.app -dmg -codesign=-
# 注意, intel的需要替换成: /usr/local/opt/qt5/bin/macdeployqt RedPandaIDE/RedPandaIDE.app -dmg -codesign=-
注意: 此命令可能会报错, 但似乎没什么影响...
已知问题
- 用触摸板上下滚动太快, 可以通过
工具
->选项
->编辑器
->通用
->滚动条
->鼠标滚轮卷轴速度(行)
-> 改成 1. - 只能使用 clang debug 模式运行, 无法使用 release 模式, 似乎可以通过自定义编译器解决, 懒得折腾了.
- 无法使用调试功能, 设置 gdb 为
/usr/bin/lldb
, 设置 gdbserver 为/Library/Developer/CommandLineTools/Library/PrivateFrameworks/LLDB.framework/Versions/A/Resources/debugserver
后, 依然无法正常使用, 原因不明, 暂时放弃. - (2022.12.24更新) 有人反馈说下载的编译好的程序无法打开, 我试了一下, 是因为苹果对互联网下载的程序有个拦截, 可以打开命令行, 输入
xattr -cr 你的app路径
, 然后再运行就好了, 比如xattr -cr ~/Downloads/RedPandaIDE.app
.