Как я могу использовать CI в C Software, если не все интерфейсы реализованы? - PullRequest
0 голосов
/ 31 января 2020

У меня вопрос по CI в проекте C для встраиваемых систем.

Мы 2 разработчика, один разрабатывает аппаратные интерфейсы, как функция get_timer_ms()

другой разработчик разрабатывает прикладное программное обеспечение, как функция wait(uint16 time_to_wait_Sec)

Теперь прибывает проблема, разработчик с прикладным программным обеспечением готов, но разработчик аппаратного интерфейса не готов.

Разработчик приложения фиксирует код c, и CI запускается, компиляция прошла успешно, и теперь пришло время связать. Линкер выдает ошибку Unresolved external symbol и CI останавливается как незавершенный.

Есть ли решение в этом случае? У разработчика нет ошибок в коде, но он не может взять «зеленую» сборку вашего кода. Как я могу избежать этого?

Я подумываю написать сценарий, найти неразрешенные внешние символы, затем сгенерировать C компонент с заглушенными неразрешенными внешними символами и попытаться снова связать программное обеспечение, это хорошо? идея для решения?

1 Ответ

1 голос
/ 02 февраля 2020

На данный момент можно попробовать настроить ваш make-файл (ы) так, чтобы он выполнял только компиляцию, без ссылок, см. Выполнение шагов gcc вручную, компиляция, сборка, компоновка .

Я не уверен, сколько (выбрасывать?) Потребуется усилий, чтобы ваш скрипт работал надежно, может быть, проще было бы просто помочь другому разработчику с созданием этого скелета вручную?

...