在 IAR Embedded 中使用静态库时的编译依赖性 Workbench

Compilation dependency when using static libraries in IAR Embedded Workbench

我想将我的 IAR Embedded Workbench 工作区分成几个项目。目前我们在与主应用程序相同的项目中有 OS 和其他代码,但我希望 OS 和其他外部代码是我的应用程序所依赖的静态库。

我知道如何创建静态库项目以及如何添加 is 作为我的可执行文件的依赖项,但我的问题在于编译过程。 IAR 似乎不明白它必须在可执行文件之前编译库。当库不存在时,我会收到一条错误消息,提示文件丢失,但更糟糕的是,如果库之前编译过一次,但其中的某些文件发生了变化。然后可执行文件编译没有任何错误,但它使用旧库!

是否可以让IAR在发生变化时自行构建静态库?当我有几个静态库和更多依赖项时怎么样?

我有一个使用预构建事件的想法,但我想知道是否有针对这种情况的开箱即用的方法,如果没有,最好的解决方案是什么。

我们目前使用的是 IAR 6,但可能很快就会升级到 7。

我与 IAR 支持进行了交谈。这是结论: - 预构建事件是一个有效的解决方案 - 批量构建允许您定义一个有序的项目列表,所有这些项目都需要按照特定的顺序一起构建 - 对于命令行编译 - 不支持批构建(在工作区级别定义) - 因此只需按照需要编译的顺序分别编译所有项目。

就我个人而言,与预构建事件相比,我更喜欢批量构建选项,因为它允许常规构建(即不构建未更改的内容)和干净重建(从头开始)。遗憾的是,虽然不支持使用命令行进行批量构建,因为这使我们在两个不同的地方定义了两次项目及其顺序...