linux PATH介绍
这句命令的作用是把君正 X2600 的交叉编译器目录临时加入 Linux 的命令搜索路径里。你这句exportPATH/home/vik/project/x2600/tools/toolchains/mips-xburst2-gcc720-glibc238/bin:$PATH可以拆开理解。1.PATH是啥PATH是 Linux 里的一个环境变量。它保存了一堆目录Linux 执行命令时会去这些目录里找程序。比如你输入gccLinux 会在PATH里的目录挨个找/usr/local/bin /usr/bin /bin ...找到gcc后就执行。你可以看当前 PATHecho$PATH2. 君正 SDK 需要啥你编 X2600 不是给电脑自己编程序而是给君正 X2600 MIPS 芯片编程序。所以不能只用普通的gcc而要用君正提供的交叉编译器比如mips-linux-gnu-gcc mips-linux-gnu-ld mips-linux-gnu-objcopy这些工具在这个目录里/home/vik/project/x2600/tools/toolchains/mips-xburst2-gcc720-glibc238/bin3. 这句命令具体干了啥exportPATH/home/vik/project/x2600/tools/toolchains/mips-xburst2-gcc720-glibc238/bin:$PATH意思是把 /home/vik/project/x2600/tools/toolchains/mips-xburst2-gcc720-glibc238/bin 加到 PATH 最前面加完以后你输入mips-linux-gnu-gccLinux 就能找到它。你可以验证whichmips-linux-gnu-gcc如果正常应该输出类似/home/vik/project/x2600/tools/toolchains/mips-xburst2-gcc720-glibc238/bin/mips-linux-gnu-gcc再看版本mips-linux-gnu-gcc--version4. 为啥要放在$PATH前面注意这个写法新路径:$PATH表示把新路径放到最前面。比如原来/usr/local/bin:/usr/bin:/bin执行后变成/home/vik/project/x2600/tools/toolchains/mips-xburst2-gcc720-glibc238/bin:/usr/local/bin:/usr/bin:/binLinux 找命令是从左到右找所以会优先使用君正 SDK 自带的工具链。这对嵌入式 SDK 很重要因为不同版本工具链可能不兼容。5.export又是啥如果只写PATH/xxx/bin:$PATH只是当前 shell 变量变了。加上exportPATH...表示把这个变量导出给后续启动的程序。比如你后面执行makemake里面再调用mips-linux-gnu-gcc它也能继承这个 PATH。所以嵌入式编译前一般都要export PATH工具链路径:$PATH。6. 这个是临时生效还是永久生效这个命令只在当前终端窗口生效。你关掉 WSL 终端再打开就没了。如果想永久生效可以加到~/.bashrc比如nano~/.bashrc最后加一行exportPATH/home/vik/project/x2600/tools/toolchains/mips-xburst2-gcc720-glibc238/bin:$PATH保存后执行source~/.bashrc不过我建议你先不要急着永久写死。因为不同项目可能用不同工具链乱加太多容易冲突。7. 结合你现在的编译问题你前面 Buildroot 报错是因为 PATH 里有 Windows 的带空格路径。所以你现在更推荐这样做exportPATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:/snap/binexportPATH/home/vik/project/x2600/tools/toolchains/mips-xburst2-gcc720-glibc238/bin:$PATH第一句清理 PATH去掉 Windows 的Program Files这种带空格路径。第二句把君正 X2600 工具链加进去。然后验证whichmips-linux-gnu-gcc mips-linux-gnu-gcc--version最后再编译cd~/project/x2600/buildmake-j421|teebuild.log一句话总结exportPATH君正工具链bin目录:$PATH就是告诉 Linux以后找命令时先去君正工具链目录找这样 make 才能找到 mips-linux-gnu-gcc 来编译 X2600 程序。