fix: 修正头文件包含路径以适配评测系统

- 将所有头文件包含路径从 'include/subdir/file.h' 改为 'subdir/file.h'
- 修正了相对路径引用,如 '../../include/ir/IR.h' 改为 'ir/IR.h'
- 适配评测系统使用 -I. 或 -Iinclude 的包含路径设置
- 解决了 'file not found' 编译错误
zhm
安峻邑 2 weeks ago
parent 6ad5ae4cd4
commit 293c28fed4

@ -0,0 +1,157 @@
clang++ -std=c++17 -O2 -lm -L/extlibs -I/extlibs -lantlr4-runtime -Wl,-rpath=/extlibs /coursegrader/submitdata/src/main.cpp /coursegrader/submitdata/src/mir/MIRInstr.cpp /coursegrader/submitdata/src/mir/RegAlloc.cpp /coursegrader/submitdata/src/mir/MIRBasicBlock.cpp /coursegrader/submitdata/src/mir/FrameLowering.cpp /coursegrader/submitdata/src/mir/MIRFunction.cpp /coursegrader/submitdata/src/mir/Register.cpp /coursegrader/submitdata/src/mir/AsmPrinter.cpp /coursegrader/submitdata/src/mir/Lowering.cpp /coursegrader/submitdata/src/mir/MIRContext.cpp /coursegrader/submitdata/src/mir/passes/PassManager.cpp /coursegrader/submitdata/src/mir/passes/Peephole.cpp /coursegrader/submitdata/src/utils/CLI.cpp /coursegrader/submitdata/src/utils/Log.cpp /coursegrader/submitdata/src/sem/Sema.cpp /coursegrader/submitdata/src/sem/SymbolTable.cpp /coursegrader/submitdata/src/sem/ConstEval.cpp /coursegrader/submitdata/src/frontend/SysYParser.cpp /coursegrader/submitdata/src/frontend/SysYBaseListener.cpp /coursegrader/submitdata/src/frontend/SysYLexer.cpp /coursegrader/submitdata/src/frontend/SysYBaseVisitor.cpp /coursegrader/submitdata/src/frontend/SyntaxTreePrinter.cpp /coursegrader/submitdata/src/frontend/SysYVisitor.cpp /coursegrader/submitdata/src/frontend/AntlrDriver.cpp /coursegrader/submitdata/src/frontend/SysYListener.cpp /coursegrader/submitdata/src/ir/BasicBlock.cpp /coursegrader/submitdata/src/ir/GlobalValue.cpp /coursegrader/submitdata/src/ir/Function.cpp /coursegrader/submitdata/src/ir/Value.cpp /coursegrader/submitdata/src/ir/IRBuilder.cpp /coursegrader/submitdata/src/ir/Type.cpp /coursegrader/submitdata/src/ir/IRPrinter.cpp /coursegrader/submitdata/src/ir/Context.cpp /coursegrader/submitdata/src/ir/Instruction.cpp /coursegrader/submitdata/src/ir/Module.cpp /coursegrader/submitdata/src/ir/passes/LICM.cpp /coursegrader/submitdata/src/ir/passes/DCE.cpp /coursegrader/submitdata/src/ir/passes/ConstProp.cpp /coursegrader/submitdata/src/ir/passes/CFGSimplify.cpp /coursegrader/submitdata/src/ir/passes/CSE.cpp /coursegrader/submitdata/src/ir/passes/PassManager.cpp /coursegrader/submitdata/src/ir/passes/Mem2Reg.cpp /coursegrader/submitdata/src/ir/passes/ConstFold.cpp /coursegrader/submitdata/src/ir/analysis/DominatorTree.cpp /coursegrader/submitdata/src/ir/analysis/LoopInfo.cpp /coursegrader/submitdata/src/irgen/IRGenExp.cpp /coursegrader/submitdata/src/irgen/IRGenDecl.cpp /coursegrader/submitdata/src/irgen/IRGenDriver.cpp /coursegrader/submitdata/src/irgen/IRGenStmt.cpp /coursegrader/submitdata/src/irgen/IRGenFunc.cpp /coursegrader/submitdata/sylib/sylib.c -I /coursegrader/submitdata/include/frontend -I /coursegrader/submitdata/include/irgen -I /coursegrader/submitdata/include/mir -I /coursegrader/submitdata/include/sem -I /coursegrader/submitdata/include/utils -I /coursegrader/submitdata/include/ir -I /coursegrader/submitdata/src/frontend -I /coursegrader/submitdata/sylib -o /root/run/compiler
Stdout:
Stderr:
clang++: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
/coursegrader/submitdata/src/main.cpp:7:10: fatal error: 'src/frontend/AntlrDriver.h' file not found
7 | #include "src/frontend/AntlrDriver.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/mir/MIRInstr.cpp:1:10: fatal error: 'include/mir/MIR.h' file not found
1 | #include "include/mir/MIR.h"
| ^~~~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/mir/RegAlloc.cpp:1:10: fatal error: 'include/mir/MIR.h' file not found
1 | #include "include/mir/MIR.h"
| ^~~~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/mir/MIRBasicBlock.cpp:1:10: fatal error: 'include/mir/MIR.h' file not found
1 | #include "include/mir/MIR.h"
| ^~~~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/mir/FrameLowering.cpp:1:10: fatal error: 'include/mir/MIR.h' file not found
1 | #include "include/mir/MIR.h"
| ^~~~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/mir/MIRFunction.cpp:1:10: fatal error: 'include/mir/MIR.h' file not found
1 | #include "include/mir/MIR.h"
| ^~~~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/mir/Register.cpp:1:10: fatal error: 'include/mir/MIR.h' file not found
1 | #include "include/mir/MIR.h"
| ^~~~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/mir/AsmPrinter.cpp:1:10: fatal error: 'include/mir/MIR.h' file not found
1 | #include "include/mir/MIR.h"
| ^~~~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/mir/Lowering.cpp:1:10: fatal error: 'include/mir/MIR.h' file not found
1 | #include "include/mir/MIR.h"
| ^~~~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/mir/MIRContext.cpp:1:10: fatal error: 'include/mir/MIR.h' file not found
1 | #include "include/mir/MIR.h"
| ^~~~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/mir/passes/Peephole.cpp:1:10: fatal error: 'include/mir/MIR.h' file not found
1 | #include "include/mir/MIR.h"
| ^~~~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/sem/Sema.cpp:1:10: fatal error: 'include/sem/Sema.h' file not found
1 | #include "include/sem/Sema.h"
| ^~~~~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/sem/SymbolTable.cpp:3:10: fatal error: 'include/sem/SymbolTable.h' file not found
3 | #include "include/sem/SymbolTable.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/frontend/SyntaxTreePrinter.cpp:1:10: fatal error: 'src/frontend/SyntaxTreePrinter.h' file not found
1 | #include "src/frontend/SyntaxTreePrinter.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/frontend/AntlrDriver.cpp:2:10: fatal error: 'src/frontend/AntlrDriver.h' file not found
2 | #include "src/frontend/AntlrDriver.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/ir/BasicBlock.cpp:10:10: fatal error: 'include/ir/IR.h' file not found
10 | #include "include/ir/IR.h"
| ^~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/ir/Function.cpp:4:10: fatal error: 'include/ir/IR.h' file not found
4 | #include "include/ir/IR.h"
| ^~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/ir/Value.cpp:4:10: fatal error: 'include/ir/IR.h' file not found
4 | #include "include/ir/IR.h"
| ^~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/ir/IRBuilder.cpp:5:10: fatal error: 'include/ir/IR.h' file not found
5 | #include "include/ir/IR.h"
| ^~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/ir/Type.cpp:2:10: fatal error: 'include/ir/IR.h' file not found
2 | #include "include/ir/IR.h"
| ^~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/ir/IRPrinter.cpp:5:10: fatal error: 'include/ir/IR.h' file not found
5 | #include "include/ir/IR.h"
| ^~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/ir/Context.cpp:2:10: fatal error: 'include/ir/IR.h' file not found
2 | #include "include/ir/IR.h"
| ^~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/ir/Instruction.cpp:4:10: fatal error: 'include/ir/IR.h' file not found
4 | #include "include/ir/IR.h"
| ^~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/ir/Module.cpp:3:10: fatal error: 'include/ir/IR.h' file not found
3 | #include "include/ir/IR.h"
| ^~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/ir/passes/LICM.cpp:1:10: fatal error: 'include/ir/IR.h' file not found
1 | #include "include/ir/IR.h"
| ^~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/ir/passes/DCE.cpp:7:10: fatal error: 'include/ir/IR.h' file not found
7 | #include "include/ir/IR.h"
| ^~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/ir/passes/ConstProp.cpp:7:10: fatal error: 'include/ir/IR.h' file not found
7 | #include "include/ir/IR.h"
| ^~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/ir/passes/CFGSimplify.cpp:5:10: fatal error: 'include/ir/IR.h' file not found
5 | #include "include/ir/IR.h"
| ^~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/ir/passes/CSE.cpp:10:10: fatal error: 'include/ir/IR.h' file not found
10 | #include "include/ir/IR.h"
| ^~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/ir/passes/PassManager.cpp:3:10: fatal error: 'include/ir/IR.h' file not found
3 | #include "include/ir/IR.h"
| ^~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/ir/passes/Mem2Reg.cpp:5:10: fatal error: 'include/ir/IR.h' file not found
5 | #include "include/ir/IR.h"
| ^~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/ir/passes/ConstFold.cpp:5:10: fatal error: 'include/ir/IR.h' file not found
5 | #include "include/ir/IR.h"
| ^~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/ir/analysis/DominatorTree.cpp:1:10: fatal error: 'include/ir/IR.h' file not found
1 | #include "include/ir/IR.h"
| ^~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/irgen/IRGenExp.cpp:1:10: fatal error: 'include/irgen/IRGen.h' file not found
1 | #include "include/irgen/IRGen.h"
| ^~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/irgen/IRGenDecl.cpp:1:10: fatal error: 'include/irgen/IRGen.h' file not found
1 | #include "include/irgen/IRGen.h"
| ^~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/irgen/IRGenDriver.cpp:1:10: fatal error: 'include/irgen/IRGen.h' file not found
1 | #include "include/irgen/IRGen.h"
| ^~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/irgen/IRGenStmt.cpp:1:10: fatal error: 'include/irgen/IRGen.h' file not found
1 | #include "include/irgen/IRGen.h"
| ^~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
/coursegrader/submitdata/src/irgen/IRGenFunc.cpp:1:10: fatal error: 'include/irgen/IRGen.h' file not found
1 | #include "include/irgen/IRGen.h"
| ^~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

@ -1,5 +1,5 @@
// 调用前端解析流程,返回语法树。
#include "src/frontend/AntlrDriver.h"
#include "frontend/AntlrDriver.h"
#include <fstream>
#include <sstream>
@ -9,7 +9,7 @@
#include "SysYLexer.h"
#include "SysYParser.h"
#include "antlr4-runtime.h"
#include "include/utils/Log.h"
#include "utils/Log.h"
namespace {

@ -1,4 +1,4 @@
#include "src/frontend/SyntaxTreePrinter.h"
#include "frontend/SyntaxTreePrinter.h"
#include <string>

@ -7,7 +7,7 @@
// - 指令追加与 terminator 约束主要在头文件中的 Append 模板里处理;
// - 前驱/后继容器已经预留,但当前项目里还没有分支指令与自动维护逻辑。
#include "include/ir/IR.h"
#include "ir/IR.h"
#include <utility>

@ -1,5 +1,5 @@
// 管理基础类型、整型常量池和临时名生成。
#include "include/ir/IR.h"
#include "ir/IR.h"
#include <iomanip>
#include <sstream>

@ -1,7 +1,7 @@
// IR Function
// - 保存参数列表、基本块列表
// - 记录函数属性/元信息(按需要扩展)
#include "include/ir/IR.h"
#include "ir/IR.h"
namespace ir {

@ -1,7 +1,7 @@
// GlobalValue 占位实现:
// - 具体的全局初始化器、打印和链接语义需要自行补全
#include "../../include/ir/IR.h"
#include "ir/IR.h"
namespace ir {

@ -2,11 +2,11 @@
// - 管理插入点(当前基本块/位置)
// - 提供创建各类指令的便捷接口,降低 IRGen 复杂度
#include "include/ir/IR.h"
#include "ir/IR.h"
#include <stdexcept>
#include "include/utils/Log.h"
#include "utils/Log.h"
namespace ir {
IRBuilder::IRBuilder(Context& ctx, BasicBlock* bb)

@ -2,7 +2,7 @@
// - 将 IR 打印为 .ll 风格的文本
// - 支撑调试与测试对比diff
#include "include/ir/IR.h"
#include "ir/IR.h"
#include <cstdint>
#include <cstring>
@ -12,7 +12,7 @@
#include <stdexcept>
#include <string>
#include "include/utils/Log.h"
#include "utils/Log.h"
namespace ir {

@ -1,11 +1,11 @@
// IR 指令体系:
// - 二元运算/比较、load/store、call、br/condbr、ret、phi、alloca 等
// - 指令操作数与结果类型管理,支持打印与优化
#include "include/ir/IR.h"
#include "ir/IR.h"
#include <stdexcept>
#include "include/utils/Log.h"
#include "utils/Log.h"
namespace ir {
User::User(std::shared_ptr<Type> ty, std::string name)

@ -1,6 +1,6 @@
// 保存函数列表并提供模块级上下文访问。
#include "include/ir/IR.h"
#include "ir/IR.h"
namespace ir {

@ -1,5 +1,5 @@
// 当前支持 void、i32、float 及其指针类型。
#include "include/ir/IR.h"
#include "ir/IR.h"
namespace ir {

@ -1,7 +1,7 @@
// SSA 值体系抽象:
// - 常量、参数、指令结果等统一为 Value
// - 提供类型信息与使用/被使用关系(按需要实现)
#include "include/ir/IR.h"
#include "ir/IR.h"
#include <algorithm>

@ -1,4 +1,4 @@
#include "include/ir/IR.h"
#include "ir/IR.h"
#include <algorithm>
#include <unordered_map>

@ -2,7 +2,7 @@
// - 删除不可达块、合并空块、简化分支等
// - 改善 IR 结构,便于后续优化与后端生成
#include "include/ir/IR.h"
#include "ir/IR.h"
#include <algorithm>
#include <unordered_map>

@ -7,7 +7,7 @@
// 3. 删除重复的表达式计算
// 4. 注意处理 phi 函数和控制流汇合点
#include "include/ir/IR.h"
#include "ir/IR.h"
#include <algorithm>
#include <unordered_map>

@ -2,7 +2,7 @@
// - 折叠可判定的常量表达式
// - 简化常量控制流分支(按实现范围裁剪)
#include "include/ir/IR.h"
#include "ir/IR.h"
#include <algorithm>
#include <cmath>

@ -4,7 +4,7 @@
// - 简化冗余 PHI 节点(所有入边都是同一个值)
// - 常与 ConstFold、DCE、CFGSimplify 迭代配合使用
#include "include/ir/IR.h"
#include "ir/IR.h"
#include <iostream>
#include <unordered_map>

@ -4,7 +4,7 @@
// - 通常与 CFG 简化配合使用
// - 采用"标记 + 清扫"思路
#include "include/ir/IR.h"
#include "ir/IR.h"
#include <algorithm>
#include <unordered_set>

@ -1,4 +1,4 @@
#include "include/ir/IR.h"
#include "ir/IR.h"
#include <algorithm>
#include <iostream>

@ -2,7 +2,7 @@
// - 将局部变量的 alloca/load/store 提升为 SSA 形式
// - 使用标准的支配边界 + PHI 节点插入算法
#include "include/ir/IR.h"
#include "ir/IR.h"
#include <algorithm>
#include <iostream>

@ -1,6 +1,6 @@
// IR Pass 管理骨架。
#include "include/ir/IR.h"
#include "ir/IR.h"
#include <memory>
#include <sstream>

@ -1,12 +1,12 @@
#include "include/irgen/IRGen.h"
#include "irgen/IRGen.h"
#include <cmath>
#include <limits>
#include <stdexcept>
#include "SysYParser.h"
#include "include/ir/IR.h"
#include "include/utils/Log.h"
#include "ir/IR.h"
#include "utils/Log.h"
namespace {

@ -1,10 +1,10 @@
#include "include/irgen/IRGen.h"
#include "irgen/IRGen.h"
#include <memory>
#include "SysYParser.h"
#include "include/ir/IR.h"
#include "include/utils/Log.h"
#include "ir/IR.h"
#include "utils/Log.h"
std::unique_ptr<ir::Module> GenerateIR(SysYParser::CompUnitContext& tree,
const SemanticContext& sema) {

@ -1,11 +1,11 @@
#include "include/irgen/IRGen.h"
#include "irgen/IRGen.h"
#include <limits>
#include <stdexcept>
#include "SysYParser.h"
#include "include/ir/IR.h"
#include "include/utils/Log.h"
#include "ir/IR.h"
#include "utils/Log.h"
namespace {

@ -1,11 +1,11 @@
#include "include/irgen/IRGen.h"
#include "irgen/IRGen.h"
#include <limits>
#include <stdexcept>
#include "SysYParser.h"
#include "include/ir/IR.h"
#include "include/utils/Log.h"
#include "ir/IR.h"
#include "utils/Log.h"
namespace {

@ -1,10 +1,10 @@
#include "include/irgen/IRGen.h"
#include "irgen/IRGen.h"
#include <stdexcept>
#include "SysYParser.h"
#include "include/ir/IR.h"
#include "include/utils/Log.h"
#include "ir/IR.h"
#include "utils/Log.h"
std::string IRGenImpl::NextBlockName(const std::string& prefix) {
return prefix + std::to_string(++block_index_);

@ -4,14 +4,15 @@
#include <stdexcept>
#include <sstream>
#include "src/frontend/AntlrDriver.h"
#include "src/frontend/SyntaxTreePrinter.h"
#include "frontend/AntlrDriver.h"
#include "frontend/SyntaxTreePrinter.h"
#if !COMPILER_PARSE_ONLY
#include "include/ir/IR.h"
#include "src/ir/passes/PassManager.cpp"
#include "include/irgen/IRGen.h"
#include "include/mir/MIR.h"
#include "include/sem/Sema.h"
#include "ir/IR.h"
#include "ir/passes/PassManager.cpp"
#include "irgen/IRGen.h"
#include "mir/MIR.h"
#include "sem/Sema.h"
#endif
#include "include/utils/CLI.h"
#include "include/utils/Log.h"
#include "utils/CLI.h"
#include "utils/Log.h"
#include "utils/Log.h"

@ -1,10 +1,10 @@
#include "include/mir/MIR.h"
#include "mir/MIR.h"
#include <iostream>
#include <stdexcept>
#include <string>
#include "include/utils/Log.h"
#include "utils/Log.h"
namespace mir
{

@ -1,9 +1,9 @@
#include "include/mir/MIR.h"
#include "mir/MIR.h"
#include <algorithm>
#include <vector>
#include "include/utils/Log.h"
#include "utils/Log.h"
namespace mir
{

@ -1,12 +1,12 @@
#include "include/mir/MIR.h"
#include "mir/MIR.h"
#include <cstdint>
#include <cstring>
#include <stdexcept>
#include <unordered_map>
#include "include/ir/IR.h"
#include "include/utils/Log.h"
#include "ir/IR.h"
#include "utils/Log.h"
namespace mir
{

@ -1,4 +1,4 @@
#include "include/mir/MIR.h"
#include "mir/MIR.h"
#include <utility>

@ -1,4 +1,4 @@
#include "include/mir/MIR.h"
#include "mir/MIR.h"
namespace mir {

@ -1,9 +1,9 @@
#include "include/mir/MIR.h"
#include "mir/MIR.h"
#include <stdexcept>
#include <utility>
#include "include/utils/Log.h"
#include "utils/Log.h"
namespace mir
{

@ -1,4 +1,4 @@
#include "include/mir/MIR.h"
#include "mir/MIR.h"
#include <utility>

@ -1,4 +1,4 @@
#include "include/mir/MIR.h"
#include "mir/MIR.h"
#include <algorithm>
#include <queue>
@ -7,7 +7,7 @@
#include <unordered_set>
#include <vector>
#include "include/utils/Log.h"
#include "utils/Log.h"
namespace mir
{

@ -1,8 +1,8 @@
#include "include/mir/MIR.h"
#include "mir/MIR.h"
#include <stdexcept>
#include "include/utils/Log.h"
#include "utils/Log.h"
namespace mir
{

@ -1,8 +1,8 @@
#include "include/mir/MIR.h"
#include "mir/MIR.h"
#include <vector>
#include "include/utils/Log.h"
#include "utils/Log.h"
namespace mir
{

@ -1,4 +1,4 @@
#include "include/sem/Sema.h"
#include "sem/Sema.h"
#include <any>
#include <limits>
@ -9,8 +9,8 @@
#include <unordered_map>
#include "SysYBaseVisitor.h"
#include "include/sem/SymbolTable.h"
#include "include/utils/Log.h"
#include "sem/SymbolTable.h"
#include "utils/Log.h"
namespace {

@ -1,6 +1,6 @@
// 维护局部变量声明的注册与查找。
#include "include/sem/SymbolTable.h"
#include "sem/SymbolTable.h"
void SymbolTable::EnterScope() { scopes_.emplace_back(); }

@ -2,13 +2,13 @@
// compiler -S -o testcase.s testcase.sy
// compiler -S -o testcase.s testcase.sy -O1
#include "../include/utils/CLI.h"
#include "utils/CLI.h"
#include <cstring>
#include <stdexcept>
#include <string>
#include "../include/utils/Log.h"
#include "utils/Log.h"
CLIOptions ParseCLI(int argc, char** argv) {
CLIOptions opt;

@ -1,6 +1,6 @@
// 格式化错误并统一打印异常与帮助信息。
#include "../include/utils/Log.h"
#include "utils/Log.h"
#include <ostream>
#include <string>

Loading…
Cancel
Save