c++ - 如何设置 eclipse 以使用 arm 的代码源工具链

标签 c++ linux eclipse gcc

我已经有一段时间没有在 Linux 上使用 stm32f4 了。 自从我上次安装工具链以来,似乎发生了很多变化。

首先,在我安装了 GNU ARM Eclipse 插件后,我意识到那里支持 C++。我对吗?他们是否在 C++ 中的 stm32 外围库上创建了一些 HAL?

其次。我已经安装了 code courcery lite 编译器。我在 eclipse 项目设置中选择了正确的工具链。但它给了我这个错误。

arm-none-eabi-g++: error: nano.specs: No such file or directory

我可以看到在链接器脚本中有神秘的(对我来说)行

specs=nano.specs

所以我已经阅读了规范标志。似乎在这个规范中应该有一些编译器的常量标志或设置。但是为什么它们不在编译器需要它们的地方呢?他们应该从哪里来?

最佳答案

我本人是 Gnu-Arm-Eclipse-Plugin 的新手,遇到了同样的问题。 我正在运行 Kubuntu1404 并安装了 gcc-arm-none-eabi 工具链。

这是我发现的:

默认情况下,GNU ARM Eclipse 插件链接到 newlib-nano,如果您的工具链中不存在该库,您将收到此错误。

这是通过链接器标志 --specs=nano.specs 完成的,您可以通过 Project->Properties->C/C++ Build->Settings->Tool Settings->Cross ARM C++ Linker(Miscellaneous) 更改它。

*.specs 文件向链接器添加额外的指令,nano.specs 也是如此。 它应该位于 $TOOLCHAINPATH/arm-none-eabi/lib/

据我所知,newlib-nano 和 nano.specs 文件已从最近的 gcc 工具链中删除。至少它不在 gcc-arm 4.8.3 的 *buntu 版本中。

launchpad 上正在进行讨论,以将其再次包含在未来的构建中。

我的解决方法是使用另一个工具链,例如 gcc-arm-none-eabi-4.7.3。

编辑:您可以从 http://launchpad.net/gcc-arm-embedded/+download 下载压缩包但如果您运行 64 位操作系统,则需要一些 32 位库。

在*buntu a sudo apt 安装 lib32z1 lib32ncurses5 lib32bz2-1.0 将完成这项工作。

关于c++ - 如何设置 eclipse 以使用 arm 的代码源工具链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25231760/

相关文章:

c++ - 为什么没有虚方法的基类不需要虚析构函数?

c++ - 在 C++ 中用零初始化局部数组

linux - 使用 df 和 awk 查找分区大小

java - 如何在使用 maven 构建的 war 中包含系统依赖项

java - 在spring mvc中保存文件时的tomcat路径

c++ - Kinect:从色彩空间到世界坐标

c++ - 处理项目集合的设计问题时出错

linux - 有没有办法使用 libusb API 获取 USB 设备的设备节点?

linux - 如何在 git 中变得更有效率

eclipse - 如何在 Eclipse 中将 Spark 添加到 Maven 项目?