ubuntu安装musl编译器

1、下载源文件。网址:musl libc

2、解压到一个到不带中文路径的目录下,在该目录下右键新建终端

3、运行配置文件:

./configure

4、编译:

make

5、安装:

make install

过程中可能会出现permission denied报错,或无法在/usr/下新建目录:执行su,再安装

su

6、配置环境变量:

musl默认安装目录是:/usr/local/musl 

环境变量为: export PATH=$PATH:/usr/local/musl/bin/

新建终端,执行

vim ~/.bashrc

在文件的最末尾加上(按 a 进入编辑模式)

 export PATH=$PATH:/usr/local/musl/bin/

然后按 Esc 退出编辑模式,再输入:

:wq

为使文件生效,执行:

source ~/.bashrc

7、验证:

自己新建一个c源文件(在bash下执行):

cat > hello.c <<EOF
#include <stdio.h>
int main()
{
	printf("hello, world\n");
	return 0;
}
EOF

然后编译(在hello.c所在的目录下编译)

musl-gcc hello.c

编译成功即安装成功。

Linux系统上,如果你想用musl gcc 进行交叉编译以生成可以在目标嵌入式设备上运行的DHCP客户端(dhcpcd),你需要设置适当的环境并按照以下步骤操作: 1. **安装工具链**:首先,你需要下载并安装适用于你的目标架构的musl库和gcc交叉编译套件。例如,如果你的目标是ARM,可能会需要`arm-linux-gnueabihf-gcc`等工具。 ```sh # 对于基于Debian或Ubuntu的系统 sudo apt-get install cross-build-essential-arm-linux-gnueabihf # 或者对于基于 Alpine 的 musl 环境 apk add binutils-gold musl-dev gcc-musl cross-compiling-tools ``` 2. **配置CC变量**:在你的项目目录下,设置环境变量`CC`指向交叉编译器,比如: ```sh export CC=arm-linux-gnueabihf-gcc ``` 3. **设置LD_LIBRARY_PATH**:为了让动态链接找到对应的musl库,可能还需要设置`LD_LIBRARY_PATH`: ```sh export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/musl/lib ``` 4. **构建dhcpcd**:使用`make`命令构建dhcpcd,替换`./configure`和`make`为适合交叉编译的选项,例如: ```sh ./configure --host=arm-linux-gnueabihf make -j ``` 5. **安装到目标设备**:将编译好的二进制文件通过USB或其他连接手段复制到目标设备的 `/usr/local/bin` 或相应路径下。 **相关问题--:** 1. 如果目标设备没有网络连接,如何传输编译后的文件? 2. 怎么检查是否成功编译了cross-compiled版本的dhcpcd? 3. 需要在目标设备上做哪些配置才能运行dhcpcd?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值