我有一段时间没有在linux上使用stm32f4了。自从我上次安装工具链以来,似乎发生了很多变化。
首先,在我安装了GNU插件之后,我意识到那里有对C++的支持。我说的对吗?他们是否在stm32的C++版本库上创建了一些HAL?
第二。我已经安装了代码库编译器。我在eclipse项目设置中选择了正确的工具链。但它给了我这个错误。
arm-none-eabi-g++: error: nano.specs: No such file or directory我可以看到在链接器脚本中有神秘的(对我来说)行。
specs=nano.specs所以我读过关于规格标志的文章。在这个规范中,编译器应该有一些常量的标志或设置。但是,为什么它们不在编译器的位置呢?他们应该从哪里来?
发布于 2014-09-01 17:53:55
我本人对Gnu-Arm-Eclipse插件非常陌生,也面临着同样的问题。我正在运行Kubuntu1404,并安装了gcc手臂-无eabi工具链。
以下是我发现的情况:
默认情况下,针对newlib-nano的GNU插件链接,如果这个库不存在于您的工具链中,您将得到这个错误。
这是通过链接器标志--specs=nan.specs完成的,您可以通过Project->Properties->C/C++ Build->Settings->Tool Settings->交叉ARM C++链接器(杂项)更改它。
*.specs文件向链接器添加附加指令,nano.specs也是如此。它应该位于$TOOLCHAINPATH/arm-无-eabi/lib/
据我所知,newlib-nano和nano.specs文件已经从最近的gcc工具链中删除。至少它没有出现在gcc 4.8.3的邦图建筑里。
在launchpad上正在进行讨论,以便在以后的构建中再次包含它。
对我来说,一个解决办法是使用另一个工具链,比如gcc-手臂-无-eabi-4.7.3。
编辑:您可以从http://launchpad.net/gcc-arm-embedded/+download下载一个tarball,但是如果您运行64位操作系统,则需要一些32位库。
在*buntu上,sudo应该安装lib32z1 lib32ncurses5 lib32bz2-1.0将完成这项工作。
https://stackoverflow.com/questions/25231760
复制相似问题