我试图将我的USART库添加到我的项目中,但是我仍然没有正确地添加它,所以它将被识别。
我创建了一个USART.c和USART.h文件,我想添加这个文件。这就是我试过的:
1)右键单击解决方案/ Properties /tool链/目录2)添加我获得这两个文件的路径
当我试图构建这个项目时,它没有起作用。我收到消息undefined reference to 'initUSART'。
那么,如何将自己的库添加到项目中呢?


发布于 2017-04-23 18:41:52
问题中的屏幕截图显示,您已安排编译器查找库的头文件。但是,您还需要使用编译器编译库函数(例如initUSART),并创建一个静态库文件(带有lib前缀和.a扩展名)。为此,您需要一个单独的Atmel Studio项目,或者学习如何使用IDE之外的AVR GCC工具链来编译库。然后,您需要将该文件放在链接器的库搜索路径中的目录中,然后将适当的-l参数传递给链接器。例如,如果您的库名为libuart.a,则需要将-luart传递给链接器。Atmel Studio项目的项目属性具有需要配置的相关设置。
GCC有一种编译、创建和链接静态库的标准方法,我在上面已经介绍了这一点。您可以从GCC静态库的任何教程中了解到这一点。然后,您需要将这些知识应用到AVR GCC工具链中,并在Atmel Studio中找到需要设置的appopriate选项。
撇开不说: Atmel Studio根本不容易使用库。Arduino IDE做得更好,因为您只需将库的源文件放在正确的位置,并为您编译它们。还有大量的Arduino库;如果可以使用Arduino平台,就不必编写自己的UART驱动程序。
--简单的选择:--如果您对编译和链接到C库以及配置IDE不太了解,那么只需将库文件复制到项目中,将它们添加为源文件,并让Atmel Studio像项目中的任何其他源文件一样编译它们,就会容易得多。
发布于 2019-11-04 09:47:16
向项目添加文件夹的另一种简单方法是将文件夹复制/粘贴到项目中,然后打开Atmel Studio。
在右侧(默认情况下是解决方案资源管理器),您将看到除刚才添加的文件之外的所有文件。现在按下“显示所有文件”并搜索您的文件夹,该文件夹应该是灰色的。右键单击它并包含在项目中。应该就这样了!
这张照片应该会有帮助
https://stackoverflow.com/questions/43568642
复制相似问题