编译 Rust 项目为 x86_64-unknown-linux-musl

一、WSL2 安装与配置

1. 启用 WSL2 和安装 Ubuntu

  1. 启用 WSL 和虚拟机平台(仅需一次)

打开 PowerShell(管理员),执行:   wsl --install

2. 在 Ubuntu (WSL2) 下准备 Rust 环境

1. 更新系统

sudo apt update && sudo apt upgrade -y

2. 安装 Rust(推荐用官方脚本)

curl https://sh.rustup.rs -sSf | sh
# 按提示选择 1(默认安装)
source $HOME/.cargo/env

3. 安装 musl 工具链

sudo apt install musl-tools build-essential pkg-config -y
rustup target add x86_64-unknown-linux-musl

4、进入项目目录

cd /mnt/f/project/hiis/hiis_server

5、编译项目

方式一:直接用 cargo

cargo build --release --target x86_64-unknown-linux-musl

方式二:用 cross(如需更好兼容性)

cross build --release --target x86_64-unknown-linux-musl

1. 修复目录权限

在 WSL2 终端下,进入你的项目根目录,执行:

sudo chown -R $(whoami):$(whoami) ./target
如果你项目目录本身也有权限问题,可以:

sudo chown -R $(whoami):$(whoami) .

清理 target 目录(可选)

如果权限修复后还有问题,可以直接删除 target 目录,重新编译:

rm -rf ./target
cargo build --release --target x86_64-unknown-linux-musl

. 不要用 sudo 编译

不要用 sudo cargo build,否则会导致后续文件权限混乱。

6、查看编译结果

target/x86_64-unknown-linux-musl/release/

你可以直接在 Linux 下运行,或拷贝到 Linux 服务器上运行。

运行可执行文件

直接运行(假设你的可执行文件名为 hiis_server):

   ./hiis_server

如果遇到“权限不够”,可以加执行权限:

chmod +x hiis_server
./hiis_server

//其他运行方式

nohup ./hiis_server > hiis_server.log 2>&1 &

ps aux | grep hiis_server

查看后台进程

常见问题

  • 权限问题:如遇到权限不足,加 sudo 或检查 Windows 目录权限。
  • 依赖问题:如有 C 库依赖,确保已安装 musl-tools、build-essential、pkg-config。
  • 速度慢:首次编译会下载依赖,耐心等待。

总结流程

  1. 安装 WSL2 和 Ubuntu
  1. 安装 Rust、musl-tools
  1. 进入项目目录
  1. cargo build --release --target x86_64-unknown-linux-musl
  1. 拷贝可执行文件到目标 Linux 环境

 

posted on 2025-07-24 11:19  zyp_java_net  阅读(110)  评论(0)    收藏  举报

导航