我在windows编译rtt发现一个很奇怪的问题,花了好长时间找到原因,但是没好办法解决。用windows gcc编译arm9时,当加入源文件过多会链接失败。发现这个问题的本质是windows命令行的缓冲区只有 32kb,大于32kb会失败。因为rtt编译过程中加入的源文件太多,导致最后连接命令的字符量大于 32kb。属于windows命令行的错误,并不是gcc的问题。暂时没找到好的决绝办法。
建议是把一些 同类型的组件源码打包成 .a(静态库)然后在链接生产最后文件,这样能缩短链接命令
这个问题采用最新的studio已经解决,参考这个文章https://www.rt-thread.org/document/site/rtthread-studio/faq/studio-faq/#studio-windows
谢谢,我用的env编译的,现在解决办法是,吧源文件打包成.a。我用的awtk 一堆源文件。