Skip to content

HEYAHONG/HEnvBox

Repository files navigation

说明

本工程主要用于快速配置本人常用的开发环境。

主要支持以下操作系统:

  • Windows 10及更新版本,架构为x86_64。
  • Ubuntu 22.04,架构为x86_64。
  • Debian 12,架构为x86_64。
  • Deepin V23,架构为x86_64。

对于Windows而言,本人常用MSYS2作为开发环境。

对于Linux而言,本人常使用ubuntu,其余基于Linux内核的操作系统可能只有编译环境,而不包含其它工具(如KiCadGIMPDia等)。

目标环境功能

注意:下述功能仅为目标,并非在所有支持的操作系统有效。

  • 支持基于wxWidgets的GUI程序编译。
  • 支持基于Qt的GUI程序编译。
  • 支持基于opencv的程序编译。
  • 支持基于boost的程序编译。
  • 支持常用的构建系统/构建工具,如make、autotools(automakeautoconf)、ninjacmakesconsxmakemeson
  • 支持常用的Kconfig配置工具,如kconfig-frontends、python-kconfiglib。
  • 支持Qemu测试。
  • 支持arm裸机程序开发(采用arm-none-eabi-gcc工具链)。
  • 支持riscv裸机程序开发(采用riscv64-unknown-elf-gcc工具链)。
  • 支持使用crosstool-ng创建自定义工具链。
  • 支持基于openwrt/buildroot的固件程序编译。
  • 无论是Windows还是Linux,均采用bash作为默认脚本解释器,并且支持一些小工具,如neofetch。
  • 支持使用常用的编程语言编译程序,如C、C++、Go、Lua、Rust等。

下载说明

本工程可通过git工具下载,但需要注意的是,下载前请确认未启用git的autocrlf选项,否则可能导致安装异常。

存储空间

由于是创建开发环境,则会尽可能多地安装软件,故占用空间较大。

Windows推荐200G以上空间(本工程目录),Linux推荐100G以上空间(本工程目录+系统软件包安装目录)。

一般情况下,本工程将下载的软件放入本地程序根路径所在目录,但在某些系统中(如Linux),将使用系统软件包管理工具安装软件,此时下载的软件将占用系统空间。

工具

镜像工具

镜像工具一般用于备份各种源代码(包括但不限于github.com、gitee.com)以供不时之需,如备份源代码仓库。

具体说明见ReadMe.Tools.Mirror.md

路径工具

路径工具一般用于创建某些目录/软连接,现主要用于将openwrt/buildroot的下载目录指向同一个目录。

具体说明见ReadMe.Tools.Path_Patch.md

crosstool-ng

crosstool-ng是一款交叉编译工具链创建工具.

具体说明见ReadMe.Tools.crosstool-ng.md

cutecom-ng

cutecom-ng是一个基于Qt的串口工具,可用于串口调试。

具体说明见ReadMe.Tools.cutecom-ng.md

EnvCheck

环境检查相关脚本,具体见tools/EnvCheck.

开发环境

对于一般开发而言,安装好HEnvBox即可正常使用开发环境。

但对某些软件而言,可能需要特殊的设置。

openwrt

辅助开发openwrt的工具。

具体说明见ReadMe.DevEnv.openwrt.md

环境变量

本工程主要使用环境变量进行脚本操作:

名称 说明 备注
HENVBOX_ROOT_PATH 根路径 此路径的格式由操作系统决定
HENVBOX_TYPE 类型 对于windows而言,其值固定为win32,对于其它系统而言,其值为uname -s返回的值。
HENVBOX_LOCAL_ROOT_PATH 本地程序根路经 此路径的格式由操作系统决定
HENVBOX_LOCAL_BINDIR_PATH 本地程序根二进制可执行文件路经 此路径的格式由操作系统决定
HENVBOX_LOCAL_ROOT_PATH_UNIX 本地程序根路经,Unix格式 此路径专用于MSYS2
HENVBOX_LOCAL_BINDIR_PATH_UNIX 本地程序根二进制可执行文件路经,Unix格式 此路径专用于MSYS2
HENVBOX_TOOLS_PATH tools路径 此路径的格式由操作系统决定
HENVBOX_TOOLS_TYPE tools类型 对于windows而言,其值可选msys32或msys64。对于其它系统而言,其值为软件包管理工具名称或者默认值common。

注1:本地程序表示需要从网络上下载到本地安装的程序,tools目录为自带工具或者工具安装资源。

注2:所有环境变量在cmd中可使用set查看,在Linux或者MSYS2中可使用env查看。

脚本说明

Windows

  • config.bat:在cmd窗口中使用call config.bat路径 可配置环境。
  • install.bat:安装或者更新软件包,可多次调用,为防止异常不要同时执行多个实例。
  • upgrade.bat:更新软件包,可多次调用。
  • uninstall.bat:卸载安装,主要用于删除右键信息
  • Kconfiglib.bat:配置Kconfig,在首次正确安装后可使用,用于配置可选项,采用python-kconfiglib配置。

Linux

  • config.sh:在bash中使用. config.bat路径 可配置环境。
  • install.sh:安装或者更新软件包,可多次调用,为防止异常不要同时执行多个实例。
  • upgrade.sh:更新软件包,可多次调用。
  • uninstall.sh:卸载安装,主要用于删除.bashrc信息。注意:为保证系统稳定性,不会删除已安装的软件包。
  • menuconfig.sh:配置Kconfig,在首次正确安装后可使用,用于配置可选项,采用kconfig-frontends配置。

安装

Windows

保证目录可写(可参考MSYS2对目录的要求),确保安装路径中没有空格与中文。

以管理员权限执行install.bat,等待安装完成(注意:由于第一次更新pacman可能主动关闭窗口,若第一次安装时间小于10分钟且右键菜单打不开,需要重新运行安装脚本)。

完成后可在目录的右键菜单中找到HEnvBox选项。在需要使用各种MSYS2中的工具时可使用右键菜单打开HEnvBox。

Linux

使用具有管理员权限的账户(可使用sudo提权)执行install.sh,等待安装完成,期间可能要求输入用户密码。

使用

Windows

  • 默认情况下,使用Msys2的UCRT64环境。如需编译32位应用,可使用Msys2的MINGW32环境(由于较多应用停止支持32位,因此此环境可能功能不全)。
  • 如需保持工具的更新,请定期执行更新脚本,若太长时间(如几个月)不更新,可能因为GPG签名过期而无法更新。
  • 若出现Msys2相关子菜单无法打开,有可能是未安装完成,再次执行安装脚本即可。
  • 对于Windows11而言,右键菜单与之前版本不一致,需要按住Shift键再使用右键打开菜单。

Linux

对于Linux而言,当安装完成后,本工程会通过用户.bashrc文件自动加载,因此用户直接打开终端即可使用相关工具。

托盘程序

tools/Tray

托盘程序可作为一个运行脚本的快捷入口。

推荐资源

软件

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published