2015-04-05 3 views
3

Я хочу разделить рабочее пространство IAR Embedded Workbench на несколько проектов. В настоящее время у нас есть ОС и другой код в том же проекте, что и основное приложение, но я хочу, чтобы ОС и другой внешний код были статическими библиотеками, от которых зависит мое приложение.Зависимость компиляции при использовании статических библиотек в IAR Embedded Workbench

Я знаю, как создать проект статической библиотеки и как добавить это как зависимость для моего исполняемого файла, но моя проблема связана с процессом компиляции. Кажется, что IAR понимает, что он должен скомпилировать библиотеку перед исполняемым файлом. Когда библиотека не существует, я получаю сообщение о том, что файл отсутствует, но это еще хуже, когда библиотека была скомпилирована один раз раньше, но некоторые файлы были изменены. Затем исполняемый файл компилируется без ошибок, но использует OLD-библиотеку!

Возможно ли, что IAR построит статическую библиотеку самостоятельно, когда она изменится? И как насчет того, когда у меня есть несколько статических библиотек и больше зависимостей?

У меня возникла идея использовать событие предварительной сборки, но мне было интересно, есть ли что-то из коробки для этой ситуации, а если нет, то лучшее решение.

В настоящее время мы используем IAR 6, но, вероятно, скоро перейдем к 7.

ответ

4

Я разговаривал с поддержкой IAR. Это вывод: - События предварительной сборки являются допустимым решением - Batch-build позволяет вам определить упорядоченный список проектов, которые все должны быть построены вместе и в указанном порядке - Для компиляции командной строки - нет поддержки для пакетной сборки (которая определена на уровне рабочей области) - так просто скомпилируйте отдельно все проекты в том порядке, в котором они должны быть скомпилированы.

Лично мне нравится вариант пакетной сборки лучше, чем события предварительной сборки, потому что он позволяет как обычное здание (т. Е. Не строить то, что не изменилось), так и чистую перестройку (с нуля). Это позор, хотя нет поддержки для пакетного построения с использованием командной строки, потому что это заставляет нас определять дважды в двух разных местах проекты и их порядок ...

+1

Это то, что заставляет меня думать, что IAR - это пустая трата денег , Это базовая функциональность, которая существует практически везде, что было бы неприемлемо в бесплатном продукте, не говоря уже о том, что стоит столько же, сколько Workbench, –