如何在 Windows 上的 Atmel Studio 中包含 .a 文件?

问题描述

我正在尝试使用 Windows 平台中的 Atmel StudioBME680 气体传感器模块与 AVR 控制器(具体是 Atmega644p)连接起来。 BME680 确实带有示例函数,用于配置的多个 .h、.c 文件一个 .a(静态库)。 .h 和 .c 文件也会从静态库中调用一些函数,因此我们需要包含所有可用的 .h、.c 和 .a 文件

.a 文件对我来说是新的,经过基本的网络搜索后,我得出结论,.a 文件适用于 Unix,而 .lib 文件适用于 Windows。

那么你能帮我找到一种方法吗:

将我手中的 .a 文件转换为 .lib 文件? 要么 在 Windows 平台的 Atmel Studio添加 .a 文件

任何帮助将不胜感激。

我确实尝试使用以下步骤包含 .a 文件

  1. 在项目=>属性
  2. 单击 XC8 链接器下的工具链选项卡
  3. 在库 (-l) 窗口中单击库
  4. 单击“+”号并将“libalgobsec”添加到库中的列表中 搜索路径 (-L) 窗口
  5. 在“添加搜索路径 (-L)”对话框中单击“+”号
  6. 单击“...”按钮 在文件对话框中,导航到文件夹 包含 libalgobsec.a
  7. 点击确定。
  8. 在项目属性下 => XC8 链接器 => 杂项 => 其他 对象,添加:-u _fstat -u _read -u _write

但它给出了这个错误Compilation Error

解决方法

经过 2 个月的实验,与 BOSCH 和所有事情的协调,这里是结论。

预编译库仅与具有 256 KB Boot Memory 的 AVR 控制器兼容,并且仅列出以下 4 个控制器:

  1. ATmega2561
  2. ATmega2564RFR2
  3. ATmega2560
  4. ATmega256RFR2

因此,如果您尝试使用上述以外的任何其他控制器(在我的情况下为 Atmega644P)为 Atmega 控制器编译 BSEC 软件中可用的 libalgobsec.a,它根本无法编译。