Я использую инструментальную цепочку IAR для компиляции нескольких исходных файлов, а затем связываю сгенерированные файлы .o.
Однако я сталкиваюсь с ошибками при связывании, как показано ниже:
Ошибка [Li005]: нет определения для "main" [ссылка на cmain.o (rt7M_tl.a)]
Ошибка [Lc036]: ни один блок или место не соответствуют шаблону «раздел кода ro .intvec в vector_table_M.o (rt7M_tl.a)»
Насколько я понимаю, компоновщик ILINK пытается связать объектные файлы в виде исполняемого образа и в процессе добавления зависимостей из стандартных библиотек [т.е. ищет main () и таблицу векторов прерываний].
Что я ищу:
- Как настроить компоновщик, чтобы он не добавлял эти зависимости системной библиотеки, такие как main / start / interrupt-vector-table и т. Д.?
- Как настроить компоновщик для вывода неисполняемого изображения из группы объектных файлов - если это вообще возможно?
Вы можете представить себе этот неисполняемый образ в виде таблицы конфигурации, который будет помещен в постоянную память для чтения / записи основным образом приложения.
General Options -> Output -> Output file
сExecutable
наLibrary
. (Обратите внимание, что я сам никогда этим не пользовался.) - person user694733   schedule 26.02.2016