Сбой сборки без указания причины в Segger Embedded Studio после добавления пользовательских исходных файлов - PullRequest
0 голосов
/ 07 марта 2020

Я изменяю простой пример проекта (blinky) из nRF SDK. Я добавил заголовочный файл и файл. c в новую папку в каталоге проекта, затем добавил этот путь ./lib к общему препроцессору user include directories. Затем я включил заголовок к main.c. Я могу скомпилировать новую библиотеку самостоятельно, но когда я собираю весь проект, я получаю ошибку Build failed без указания причин для ее продолжения.

Вот изображение этого.

Сборка не удалась без указания причины

Кто-нибудь здесь знает, как победить это?

1 Ответ

0 голосов
/ 09 марта 2020

Я не использовал Segger Studio специально, но, похоже, это IDE CrossWorks внизу.

В CrossWorks вам нужно сделать следующее:

  • Скачать и установить все соответствующие библиотеки из среды IDE, в разделе Инструменты -> Пакеты -> Установить пакеты. Возьмите ваш указанный c целевой MCU, а также любые указанные c платы или библиотеки, которые вы будете использовать. В случае, если какая-то необходимая библиотека отсутствует здесь, вы получите очень странные ошибки.
  • В проекте нажмите на само название проекта в «проводнике проекта». Затем в окне свойств проверьте настройки (это немного отличается в разных версиях CrossWorks, возможно, придется щелкнуть правой кнопкой мыши и выбрать свойства в более старых версиях). Под «пользовательскими каталогами включения» у вас должно быть что-то вроде этого:

    $(DeviceIncludePath)
    $(TargetsDir)/NameOfMCU/Include
    $(PackagesDir)/CMSIS_4/CMSIS/Include
    $(ProjectDir)/NameOfDirectory
    

    Где «NameOfMCU» - это имя используемого семейства MCU, CMSIS должна быть там, если вы используете какой-либо ARM, «NameOfDirectory» это имя вашей пользовательской директории (вы можете добавить несколько).

Кроме того, сначала запустите сборку отладки, прежде чем переходить к выпуску сборки.

...