首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Eclipse中用avr编程Arduino -找不到-l/usr/avr

在Eclipse中用avr编程Arduino -找不到-l/usr/avr
EN

Stack Overflow用户
提问于 2013-12-04 23:34:02
回答 1查看 883关注 0票数 0

我正在尝试从Eclipse中编程Arudino Nano。它具有与Uno (Atmega328p)相同的处理器。我以前曾与Uno一起工作过,但后来得到了一个新的硬盘驱动器,不得不重新安装/重新配置所有的东西。我运行Fedora 19与Eclipse开普勒。我在构建过程中遇到了一个错误,我甚至不知道从哪里开始寻找解决方案,而且Google对此帮助不大.

以下是错误:

代码语言:javascript
复制
make all 
Building target: Arduino_Template.elf
Invoking: AVR C Linker
avr-gcc -Wl,-Map,Arduino_Template.map -mmcu=atmega328p -o "Arduino_Template.elf"  ./Analog.o   -l/usr/avr
/usr/lib/gcc/avr/4.8.2/../../../../avr/bin/ld: cannot find -l/usr/avr
collect2: error: ld returned 1 exit status
make: *** [Arduino_Template.elf] Error 1

17:29:38 Build Finished (took 124ms)

以前有人遇到过这种情况吗?还是有人有什么建议?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2013-12-27 10:02:05

这个问题可以这样描述:

  • 首先,库应该只按其名称指定,而不应使用"lib“前缀和".a”后缀。链接器(这是获得错误的地方)将在项目路径中指定的库中查找库,并向文件库名称添加所需的任何内容。因此,如果您需要的库名为mystuff,它将查找一个名为libmystuff.a的文件。

在您的示例中,这是由-l/usr/avr指定的,我认为这可能是配置错误,或者您没有复制/粘贴整个错误输出。使用'-l‘选项,您只指定名称,而不是文件的整个路径。

  • 其次,应该在项目配置中指定路径,在哪里查找库,否则链接器将只在您自己的项目中查找库文件。库通常是另一个项目的一部分,因此您需要相应地调整项目配置。

我也有类似的问题,我就是这样解决的.

转到菜单项目/属性。在左边-选择"C/C++ Build“。在右边-选择选项卡“工具设置”。在树视图中选择"AVR C链接器“,然后选择”库“子项。你可能需要做出改变。

  • “库”列表是添加库名(如mystuff )的地方。
  • “库”路径是您指定库路径的地方。这可能是这样的:"${workspace_loc:/mystuff/Release}"

其结果是链接器将在您的工作区根文件夹下查找这个文件:/mystuff/Release/libmystuff.a

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20388385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档