Build Fail arm-none-eabi-gcc - PullRequest
       28

Build Fail arm-none-eabi-gcc

0 голосов
/ 04 апреля 2020

Я попал в книгу «Начало STM32» - Уоррен Гей. Я пытался собрать исходники под Cygwin, но даже если путь к нужным файлам обозначен в make-файле, нужные файлы не были найдены. Файл в папках libopencm3 / cm3 / scb.h лежит в пути: / home / root / STM32 / stm32f103c8t6 / libopencm3 / include , поэтому правильный путь должен быть / home / root / STM32 / stm32f103c8t6 / libopencm3 / include / libopencm3 / cm3 / scb. h и я проверил наличие файлов.

Поэтому я попытался изменить #include на #include "file.h" с требуемым заголовочным файлом в исходной папке - это сработало, но там Есть много случаев в разных исходных файлах.

Есть ли какие-либо предложения, чтобы исправить это или найти способ выйти из этого?

Большое спасибо!

Это то, что я получил от терминала.

[~/STM32/stm32f103c8t6]

$ make

make -C rtos/libwwg


make[1]: Entering directory '/home/root/STM32/stm32f103c8t6/rtos/libwwg'
make -w -C ./src

make[2]: Entering directory '/home/root/STM32/stm32f103c8t6/rtos/libwwg/src'
arm-none-eabi-gcc -Os -g -std=c99 -mthumb -mcpu=cortex-m3 -msoft-float -mfix-cortex-m3-ldrd -Wextra -Wshadow -Wimplicit-function-declaration -Wredundant-decls -Wmissing-prototypes -Wstrict-prototypes -fno-common -ffunction-sections -fdata-sections -I/home/root/STM32/stm32f103c8t6/libopencm3/include -I/home/root/STM32/stm32f103c8t6//rtos/libwwg/include -I./rtos -I. -MD -Wall -Wundef -DSTM32F1 -I/home/root/STM32/stm32f103c8t6/libopencm3/include -I/home/root/STM32/stm32f103c8t6//rtos/libwwg/include -o usbcdc.o -c usbcdc.c

usbcdc.c:7:10: fatal error: libopencm3/cm3/scb.h: No such file or directory
7 | #include <libopencm3/cm3/scb.h>
| ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

make[2]: *** [../../../Makefile.incl:111: usbcdc.o] Error 1
make[2]: Leaving directory '/home/root/STM32/stm32f103c8t6/rtos/libwwg/src'
make[1]: *** [Makefile:8: all] Error 2
make[1]: Leaving directory '/home/root/STM32/stm32f103c8t6/rtos/libwwg'
make: *** [Makefile:41: libwwg] Error 2

1 Ответ

0 голосов
/ 06 апреля 2020

Итак, я знаю, что является источником проблемы. В Cygwin существуют проблемы с форматом пути или, скорее, между взаимодействием между форматами пути Windows и Linux. Я мог бы решить эту проблему, изменив пути в Makefile из папки Linux / home / в формат Windows D: \ home \ folder \.

...