ATMEL Studio添加自己的库

时间:2017-04-23 07:44:34

标签: avr atmel

我尝试将我的USART库添加到我的项目中,但我仍未能正确添加它以便识别它。

我创建了一个USART.c和U​​SART.h文件,我想添加它。这就是我试过的:

1)右键单击解决方案/属性/工具链/目录 2)添加我获得这两个文件的路径

当我尝试构建项目时,它不起作用。我收到了消息undefined reference to 'initUSART'

如何将自己的库添加到项目中呢?

enter image description here enter image description here

2 个答案:

答案 0 :(得分:2)

您问题中的屏幕截图显示您安排编译器查找库的头文件。但是您还需要使用编译器来编译库函数(例如initUSART)并创建一个静态库文件(带有lib前缀和.a扩展名)。您需要一个单独的Atmel Studio项目,或者学习如何在IDE之外使用AVR GCC工具链来编译库。然后,您需要将该文件放在链接器的库搜索路径中的目录中,然后您需要将相应的-l参数传递给链接器。例如,如果您的库名为libuart.a,则需要将-luart传递给链接器。 Atmel Studio项目的项目属性具有您需要配置的相关设置。

GCC有一种编译,创建和链接到静态库的标准方法,我在上面概述了这一点。您可以从GCC静态库的任何教程中了解相关内容。然后,您需要将该知识应用于AVR GCC工具链,并在Atmel Studio中找到您需要设置的适当选项。

除此之外: Atmel Studio根本不会让您轻松使用库。 Arduino IDE做得更好,因为您只需将库的源文件放在正确的位置,然后为您编译它们。还有大量的Arduino库;如果可以使用Arduino平台,则不必编写自己的UART驱动程序。

简单的替代方法:如果您对编译和链接到C库以及配置IDE不太了解,那么将库文件复制到项目中会更容易,添加它们作为源文件,让Atmel Studio像编译项目中的任何其他源文件一样编译它们。

答案 1 :(得分:0)

将文件夹添加到项目中的另一种简单方法是将文件夹复制/粘贴到项目中,然后打开Atmel Studio。

在右侧(默认为解决方案资源管理器),您将看到除刚添加的文件以外的所有文件。现在按显示所有文件并搜索您的文件夹,该文件夹应显示为灰色。 右键单击,然后将其包含在项目中。那应该是全部!

此图片应该有帮助