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

Din*_*ina 5 iar

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

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

是否可以让 IAR 在更改时自行构建静态库?当我有几个静态库和更多依赖项时呢?

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

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

Din*_*ina 4

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

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