最近在搞一个新的项目,arm-none-eabi-gcc版本是指定的,用低版本或者高版本都不行,编译报错,由于错误复杂多,所以只能接受这个指定版本。
问题就这么来了,原先项目也是使用arm-none-eabi-gcc 编译,用新项目的版本,编译不过。
旧项目:
gcc version 4.5.2 (Sourcery G++ Lite 2011.03-42)
新项目:
gcc version 5.4.1 20160919 (release)
如果同时开发两个项目,GCC版本就需要切换,有什么好的方法切换吗?
方法一:<改环境变量顺序>
经过研究,GCC启动时 貌似 根据系统环境变量,直接定位了arm-none-eabi-gcc 的版本。因为测试过程中,环境变量的位置不同,cygwin启动后 gcc版本不同。
如上图,cygwin启动后,gcc版本为 5.4.1
如上图,cygwin启动后,gcc版本为 4.5.2
这个方法每次都需要手动操作,太麻烦。
方法二:<改变量声明> --------不可行,至于为什么,没研究透
通过查看版本,不同的版本环境变量不一样,通过脚本自动更改环境变量 ----不起作用
设置版本后,查看版本信息
查看环境变量:
环境变量更改,GCC版本不变
目前还在摸索其他方法,有方法及时更新。
如果有知道原理,以及方法的大佬,请分享一下您的经验。
感谢