【问题标题】:ATMEL Studio adding own libraryATMEL Studio 添加自己的库
【发布时间】:2017-04-23 07:44:34
【问题描述】:

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

我创建了一个我想要添加的 USART.c 和 USART.h 文件。这是我尝试过的:

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

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

那么我如何将我自己的库添加到项目中?

【问题讨论】:

    标签: avr atmel


    【解决方案1】:

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

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

    旁白: Atmel Studio 根本无法轻松使用库。 Arduino IDE 做得更好,因为您只需将库的源文件放在正确的位置,它就会为您编译它们。也有大量的 Arduino 库;如果您可以使用 Arduino 平台,您将不必编写自己的 UART 驱动程序。

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

    【讨论】:

      【解决方案2】:

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

      在右侧(默认情况下解决方案资源管理器在哪里),您将看到所有文件,除了您刚刚添加的文件。现在按 显示所有文件 并搜索应该显示为灰色的文件夹。 右键单击它并包含在项目中。应该就是这样!

      这张图片应该有帮助

      【讨论】:

      • 没有图片链接到答案
      猜你喜欢
      • 2022-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-02
      • 1970-01-01
      • 2013-12-31
      相关资源
      最近更新 更多