Repository navigation
FAQ
dxx114514-stack edited this page Oct 17, 2026
·
3 revisions
CMake:
mkdir build && cd build
cmake .. && cmake --build .或 g++ 直接编译(见 构建与测试)。
默认为可执行文件同级的 data/,可用 CLIJUDGE_DATA_DIR 自定义。题目/文章/比赛/提交分置 data/problems、data/articles、data/contests、data/submissions 子目录,旧版平铺数据启动时自动迁移。写入为原子替换,并发修改由 data/.clijudge.lock 跨进程锁保护(崩溃后自动释放)。详见 数据存储。
内置 C(.c)、C++(.cpp .cc .cxx)、Python 3(.py)、Java(.java)、JavaScript(.js),按扩展名自动识别;其它扩展名通过 custom_languages 注册(见 自定义评测语言)。未注册扩展名评测为 CE(Unsupported language)。
clijudge problem export 1 problem_1.json # 或 .zip
clijudge problem import problem_1.json比赛用 CDF:clijudge contest export 1 c.cdf / clijudge contest import c.cdf。携带 SPJ/交互器/生成器的包导入时会输出信任告警——只导入可信来源(见 沙箱与安全)。
- 确认扩展名是已注册语言;自定义语言需在
config.json的custom_languages中配置 - 编译器需在 PATH 上(Linux 为
g++/python3,Windows 为g++/python) - 编译超时可在
config.json→judge.compile_time_limit_ms调大(默认 10000ms)
当前语言包文件缺失。执行:
clijudge displaylang switch en # 内置英文包,离线可用(仅顶层 help 与 displaylang 不受此限制;problem help 等子命令帮助同样需要已配置的语言包。)详见 显示语言。
启动时会输出 Warning: failed to parse ...config.json 并使用默认值继续运行。手动修复或删除该文件后重新配置;数据文件(题目/比赛等)相互独立,不受影响。
| 现象 | 解决 |
|---|---|
找不到 json.hpp
|
确保 include/json.hpp 存在(源码仓库自带,勿删除) |
| 找不到 Windows API 函数 | 链接 -lpsapi -luserenv -lole32 -lwinhttp
|
| C++17 支持错误 | 使用 -std=c++17,换新版编译器 |
| 现象 | 解决 |
|---|---|
| 无法创建数据目录 | 检查写入权限,或设置 CLIJUDGE_DATA_DIR 到有权限的目录 |
| 沙箱执行失败(Windows) | 尝试以管理员身份运行,或检查 Windows 安全设置 |
| 找不到编译器 | C/C++ 确保 g++ 在 PATH;Python 确保 python3(Windows 为 python) |
提交全部 SE / SYSTEM_ERROR
|
Linux 检查内核限制:可设 CLIJUDGE_SANDBOX_DEBUG=/tmp/sbx.log 查看沙箱降级与失败点(见 沙箱与安全) |
displaylang 联网下载失败 |
检查网络 / 代理设置;或手动下载 .cjl 放入 data/langs/(无需 curl) |
评测 WA 但肉眼一致 |
text_strict 为逐字节比较,注意行尾空白与末尾换行(见 评测机制) |
Java 提交 MLE
|
JVM 占用大,题目内存限力建议 ≥ 2048MB |
冒烟测试可快速自检(37 项):
bash tests/smoke_linux.sh # Linux
powershell -File tests\smoke_windows.ps1 # Windows返回 Home