跳至主要內容

目录管理

LincZero大约 2 分钟

目录管理

目录

发布目录管理

本地简易安装器 - 纯批处理

start.bat (Windows)

@echo off
:: utf-8输出
chcp 65001

:: 定义安装文件名
set "MSVC_INSTALL=.\pack\recorder_win_msvc.zip"
set "MINGW_INSTALL=.\pack\recorder_win_mingw.zip"

:: 安装部分
:: 如果缺少名为recorder.exe的文件,则先进行安装
if not exist recorder.exe (
    rem 检查是否存在Visual Studio
    rem reg query "HKLM\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0" >nul 2>&1
    rem if %errorlevel% equ 0 (
    rem     :: 存在Visual Studio,解压MSVC版本到当前路径下
    rem     powershell -Command "Expand-Archive -Path '%MSVC_INSTALL%' -DestinationPath ."
    rem ) else (
    rem     :: 不存在Visual Studio,解压Mingw版本到当前路径下
    rem     powershell -Command "Expand-Archive -Path '%MINGW_INSTALL%' -DestinationPath ."
    rem )

    rem 暂时强制用minGW,msvc版本依赖问题未解决
    powershell -Command "Expand-Archive -Path '%MINGW_INSTALL%' -DestinationPath ."
)

:: 运行部分,运行recorder.exe文件
start recorder.exe

start.sh (Linux)

#!/bin/sh

# 安装部分
# 如果缺少名为recorder的可执行行文件,则先进行安装
if [ ! -f recorder ]; then
    # 定义GCC版本与对应的安装包
    MIN_GCC_VERSION="4.8.0"
    GCC_VERSION_48="4.8.0"
    GCC_VERSION_5="5.0.0"
    GCC_VERSION_8="8.0.0"
    GCC_VERSION_13="13.0.0"
    GCC_VERSION_48_INSTALL="pack/recorder_linux_gcc48.zip"
    GCC_VERSION_5_INSTALL="pack/recorder_linux_gcc5.zip"
    GCC_VERSION_8_INSTALL="pack/recorder_linux_gcc8.zip"
    GCC_VERSION_13_INSTALL="pack/recorder_linux_gcc13.zip"

    # 获取当前GCC版本
    GCC_VERSION=$(gcc -dumpversion)

    # 类似版本号的字符串比较函数
    ver () { printf "%03d%03d%03d%03d" $(echo "$1" | tr '.' ' '); }

    # 根据系统的GCC版本解压对应的文件夹到当前路径下
    if [ $(ver $GCC_VERSION) -ge $(ver $MIN_GCC_VERSION) ]; then
        if [ $(ver $GCC_VERSION) -lt $(ver $GCC_VERSION_5) ]; then
            unzip $GCC_VERSION_48_INSTALL
        elif [ $(ver $GCC_VERSION) -lt $(ver $GCC_VERSION_8) ]; then
            unzip $GCC_VERSION_5_INSTALL
        elif [ $(ver $GCC_VERSION) -lt $(ver $GCC_VERSION_13) ]; then
            unzip $GCC_VERSION_8_INSTALL
        else
            unzip $GCC_VERSION_13_INSTALL
        fi
        chmod 755 recorder
    else
        echo "GCC version must be greater than or equal to $MIN_GCC_VERSION"
        exit
    fi
fi

# 运行部分,运行recorder可执行文件
./recorder

start.command (MacOS)

#!/bin/sh
# 第一行有可能是#!/bin/zsh

# 同步CWD与ED
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
echo $DIR
cd $DIR

# 安装部分
# 如果缺少名为recorder的可执行行文件,则先进行安装
if [ ! -f recorder ]; then
    # 定义版本与对应的安装包
    MAC_ARM64_INSTALL="./pack/recorder_mac_arm64.zip"
    MAC_X86_64_INSTALL="./pack/recorder_mac_x86_64.zip"

    # 获取当前处理器架构
    ARCHITECTURE=$(uname -m)

    # 根据系统的处理器架构解压对应的文件夹到当前路径下
    if [ "$ARCHITECTURE" = "x86_64" ]; then
        unzip $MAC_X86_64_INSTALL
    elif [ "$ARCHITECTURE" = "arm64" ]; then
        unzip $MAC_ARM64_INSTALL
    else
        echo "Unsupported architecture!"
        exit
    fi

    # 设为可执行
    chmod 755 recorder
fi

# 运行部分,运行recorder可执行文件
./recorder