crosscompiling for openwrt with nim
缘来
nim语言(nimlang)最近更新到1.02版本了,感觉还不错,正好最近在玩OpenWRT,记录一下在Linux下交叉编译mips架构的OpenWRT系统下的可执行程序步骤。
Debian系统下下载nim语言
sh -c 'printf "deb http://ftp.cn.debian.org/debian/ sid main" > /etc/apt/sources.list.d/sid.list'
apt update
apt -t sid install nim -y
Debian系统下安装gcc等编译环境
apt-get install build-essential
下载对应架构的OpenWRT编译工具链toolchain
wget https://archive.openwrt.org/releases/18.06.4/targets/ramips/mt7621/openwrt-sdk-18.06.4-ramips-mt7621_gcc-7.3.0_musl.Linux-x86_64.tar.xz
tar xvf openwrt-sdk-18.06.4-ramips-mt7621_gcc-7.3.0_musl.Linux-x86_64.tar.xz
rm openwrt-sdk-18.06.4-ramips-mt7621_gcc-7.3.0_musl.Linux-x86_64.tar.xz
设置环境并进行编译
export PATH=/root/openwrt-sdk-18.06.4-ramips-mt7621_gcc-7.3.0_musl.Linux-x86_64/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/bin/:$PATH
nim -d:release --opt=size -d:ssl --cpu:mipsel --os:linux --gcc.exe:mipsel-openwrt-linux-gcc --gcc.linkerexe:mipsel-openwrt-linux-gcc c test.nim
结
就这样,就可以生成对应路由器下的可执行文件啦~