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

时间:2015-04-05 09:30:24

标签: iar

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

我知道如何创建静态库项目以及如何添加作为我的可执行文件的依赖项,但我的问题在于编译过程。看起来IAR不知道它必须在可执行文件之前编译库。当库不存在时,我得到一个错误,说文件丢失了,但是当库编译一次之前但是某些文件内部发生了变化时,情况会更糟。然后可执行文件编译没有任何错误,但它使用OLD库!

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

我有一个使用预制活动的想法,但我想知道是否有任何开箱即用的情况,如果没有,那么最佳解决方案是什么。

我们目前正在使用IAR 6,但可能会很快转到7。

1 个答案:

答案 0 :(得分:4)

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

我个人认为批量构建选项比预构建事件更好,因为它允许常规构建(即不构建未更改的内容)和干净重建(从头开始)。虽然不支持使用命令行进行批量构建,但这是一种耻辱,因为这使我们在两个不同的位置定义了两次项目及其排序......