wsl2配置arm-linux-gcc 4.4.3

本文详细介绍了如何在Windows子系统Linux(WSL2)的Ubuntu18.04环境下,安装32位库以支持arm-linux-gcc4.4.3交叉编译器。步骤包括安装所需软件包,配置环境变量,以及解决因编译器不兼容64位文件系统导致的问题,通过cifs协议挂载Windows共享文件夹以进行开发工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境准备

  • wsl2安装
  • wsl2 下 的ubuntu 18.04 安装
  • ubuntu 换源

安装32位库

因为ubuntu 是 64位,arm-linux-编译器是32位,所以需要安装32位库

参考:Linux配置交叉编译工具链步骤

apt-get install lib32ncurses5
apt-get install lib32z1

sudo apt-get install gcc-multilib
sudo apt-get install lib32z1 lib32bz2-1.0
sudo apt-get install g++-multilib libc6-dev-i386

配置arm-linux-4.4.3

参考:Ubuntu20.04安装arm-linux-gcc4.4.3交叉编译器

友善之臂官网下载地址 :http://www.arm9.net/download.asp

  • 解压
tar -zxvf arm-linux-gcc-4.4.3-20100728.tar.gz

此时当前目录下解压没错误的话会多个 opt 文件夹, 大致目录结构如下:

.
└── FriendlyARM
    └── toolschain
        └── 4.4.3
            ├── arm-none-linux-gnueabi
			├── bin  
			├── include  
			├── lib  
			├── libexec  
			├── share
  • 移动/复制 FriendlyARM 目录到 /usr/local/bin/ 目录下:
cd opt
sudo mv FriendlyARM /usr/local/bin/
  • 添加环境变量
vim ~/.bashrc
# 在文件.bashrc末尾添加
export PATH=$PATH:/usr/local/bin/FriendlyARM/toolschain/4.4.3/bin
# 更新环境变量
source ~/.bashrc
  • 测试
arm-linux-gcc -v
# 如果出现如下信息即成功
Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: /opt/FriendlyARM/mini2440/build-toolschain/working/src/gcc-4.4.3/configure --build=i386-build_redhat-linux-gnu --host=i386-build_redhat-linux-gnu --target=arm-none-linux-gnueabi --prefix=/opt/FriendlyARM/toolschain/4.4.3 --with-sysroot=/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi//sys-root --enable-languages=c,c++ --disable-multilib --with-arch=armv4t --with-cpu=arm920t --with-tune=arm920t --with-float=soft --with-pkgversion=ctng-1.6.1 --disable-sjlj-exceptions --enable-__cxa_atexit --with-gmp=/opt/FriendlyARM/toolschain/4.4.3 --with-mpfr=/opt/FriendlyARM/toolschain/4.4.3 --with-ppl=/opt/FriendlyARM/toolschain/4.4.3 --with-cloog=/opt/FriendlyARM/toolschain/4.4.3 --with-mpc=/opt/FriendlyARM/toolschain/4.4.3 --with-local-prefix=/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi//sys-root --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-c99 --enable-long-long --enable-target-optspace
Thread model: posix
gcc version 4.4.3 (ctng-1.6.1) 
  • 测试编译
vim test.c
# 在文件中输入
#include "stdio.h"
int main()
{
	printf("hello");
	return 0;
}
# 编译
arm-linux-gcc test.c -o test

编译出错 :cc1plus: Value too large for defined type

编译器太旧不兼用64位的文件系统

挂载cifs

参考:实战 WSL2.0 docker 镜像中部署 arm 交叉工具链 (4)

使用cifs协议重新挂载工作文件夹work

  • 共享文件夹work

参考:Linux开发环境搭建三 使用mount -t cifs 挂载windows共享目录方法与问题解决

windows找到对应文件夹word,右键属性,共享-》共享(H)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4kBZTYpc-1683125676014)(wsl2环境配置.assets/image-20230503213823859.png)]

  • 查看本地ip

使用命令 ipcofig
在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p7tBxfKi-1683125676015)(wsl2环境配置.assets/image-20230503213956451.png)]
在这里插入图片描述

  • 挂载

回到ubuntu 使用mount命令挂载

  1. 进入home/用户 目录,新建挂载文件夹project
cd /home/ziwei
mkdir project
  1. 挂载共享的文件夹到 project
sudo mount -t cifs  //192.168.1.231/work /home/ziwei/project -o username="Zziwei",password="123",nounix,noserverino,gid=ziwei,uid=ziwei

//192.168.1.231/work /home/ziwei/project : 本地共享文件,挂载目标文件

username,password : windows 用户名,密码

gid,uid : ubuntu 用户名,密码

  • 测试:
arm-linux-gcc test.c -o test

t : 本地共享文件,挂载目标文件

username,password : windows 用户名,密码

gid,uid : ubuntu 用户名,密码

  • 测试:
arm-linux-gcc test.c -o test
### 在 Windows 上安装配置 arm-linux-gnueabihf-gcc 交叉编译器 #### 使用 WSL (Windows Subsystem for Linux) 对于希望在 Windows 平台上使用 `arm-linux-gnueabihf-gcc` 进行开发的用户来说,最推荐的方法之一是通过 Windows Subsystem for Linux (WSL) 来实现。这允许开发者在一个接近原生 Linux 环境下工作。 一旦启用了 WSL 功能并选择了合适的 Linux 发行版之后,在该环境中可以通过包管理工具轻松安装所需的交叉编译工具链: ```bash sudo apt update && sudo apt upgrade -y sudo apt-get install gcc-arm-linux-gnueabihf ``` 上述命令会更新软件源列表并将系统中的现有程序升级到最新版本[^1];接着安装适用于 ARM 架构硬浮点 ABI 的 GNU 编译套件。 #### 利用 MinGW 或 Cygwin 方案 另一种方法是在不依赖于 WSL 的情况下直接基于 Windows 命令提示符或者 PowerShell 执行操作。此时可以考虑采用 MinGW 或者 Cygwin 工具集来提供 Unix-like 环境支持,并从中寻找预构建好的交叉编译器二进制文件进行本地部署。 但是需要注意的是这种方式相对复杂一些,因为可能涉及到更多手动设置环境变量以及解决潜在路径冲突等问题。 #### 下载 Linaro 提供的预编译工具链 除了以上两种途径外,还可以访问官方提供的资源页面下载已经预先打包好适合特定应用场景使用的交叉编译工具链。例如来自 Linaro 组织发布的版本通常具有良好的稳定性和广泛的社区支持: [Linaro Releases](https://releases.linaro.org/) [^4] 下载完成后解压至指定目录即可开始使用这些工具来进行项目开发前准备工作。 #### 验证安装成功与否 无论采取哪种方式完成安装过程后都应该验证一下是否能够正常使用新安装的编译器。可以通过下面这条简单的测试指令确认其存在并且正常运作: ```bash arm-linux-gnueabihf-gcc --version ``` 如果一切顺利的话应该能看到关于所安装 GCC 版本的相关信息输出。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值