gcc、g++版本与buildroot构建关系密切,版本不对应会导致很多奇怪的编译错误
如果你手上的老项目和新项目时间维度较长,可能你将开发环境的gcc切换到老版本后,你再用buildroot构建根文件系统时就出问题了,而问题刚出时你很难意识到是什么时候的操作导致的。
gcc: error: unrecognized command line option '-Wdiscarded-qualifiers'
gcc: error: unrecognized command line option '-Waddress-of-packed-member'
上面的错误是从gcc9降到gcc4.8时出错的打印,意思是你现在使用的gcc不支持引号中的选项
更新默认版本并设置优先级后解决
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 100
同样如果使用低版本buildroot时我们需要相应的去降低gcc版本
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 100