2017-02-22 11 views
0

Я работаю с проектом CDT в Eclipse/Neon.2, который перекрестно компилирует встроенную цель. Я добавил в проект кучу файлов .c, и они автоматически включаются в сборку, за исключением (по-видимому). В каталоге проекта это STM32F7explore/Utilities/Log/lcd_log.c где STM32F7explore - это проект проекта Eclipse. Если я пытаюсь построить его вручную, окно консоли показывает:Eclipse/Neon.2 игнорирование исходного файла

09:45:52 **** Building Selected Files of configuration Debug for project STM32F7explore **** 
Info: Internal Builder is used for build 

09:45:52 Build Finished (took 1ms) 

Для файлов, которые включены, консоль показывает, например,

09:54:50 **** Building Selected Files of configuration Debug for project STM32F7explore **** 
Info: Internal Builder is used for build 
arm-none-eabi-gcc -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -D__weak=__attribute__((weak)) -D__packed=__attribute__((__packed__)) -DUSE_HAL_DRIVER -DSTM32F746xx -DLWIP_TIMEVAL_PRIVATE=0 -I../Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/CMSIS/Include -I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM7/r0p1 -I../Middlewares/Third_Party/FreeRTOS/Source/include -I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I../Middlewares/Third_Party/LwIP/src/include -I../Middlewares/Third_Party/LwIP/system -I../Middlewares/Third_Party/LwIP/src/include/lwip -I../Middlewares/Third_Party/LwIP/src/include/lwip/apps -I../Middlewares/Third_Party/LwIP/src/include/lwip/priv -I../Middlewares/Third_Party/LwIP/src/include/lwip/prot -I../Middlewares/Third_Party/LwIP/src/include/netif -I../Middlewares/Third_Party/LwIP/src/include/netif/ppp -I../Middlewares/Third_Party/LwIP/src/include/netif/ppp/polarssl -I../Middlewares/Third_Party/LwIP/src/include/posix -I../Middlewares/Third_Party/LwIP/src/include/posix/sys -I../Middlewares/Third_Party/LwIP/system/arch -I../Drivers/BSP/STM32746G_Discovery -I../Utilities/Log -O0 -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -o Src/main.o ../Src/main.c 

09:54:51 Build Finished (took 224ms) 

Я сбит с толку, почему Eclipse, не добавляет файл lcd_log.c к сборке. Я посмотрел на свойства файла всплывающего окна, и они выглядят одинаково для обоих (и, в частности, Eclipse делает распознавать lcd_log.c, как File (C Source File)

Я удалил .metadata/.plugins/org.eclipse.core.runtime/.settings из рабочей области и .settings из проекта, чтобы заставить затмение регенерировать их и не решить проблему.

проект находится на Github (https://github.com/HankB/STM32F7explore), но требования к строительству немного крутой, если не случится развиваться для ST встраиваемых процессоров.

Спасибо!

ответ

1

Wh at происходит здесь Log (или его родительский Utilities) каталог не является частью источника вашего проекта, а скорее дополнительными файлами в проекте, которые исключены.

В проводнике проекта есть некоторые визуальные подсказки. Сравните две коробки в красном ниже:

Src vs Log

Как вы можете увидеть Src и dma2d.c файлы используют различные значки, чем Log и lcd_log.c.

Вы можете повторно включить папку или отдельные файлы, щелкнув правой кнопкой мыши ->Конфигурации ресурсов ->Исключить из Строить ... и убрав Debug и Release в всплывающем окне который выглядит следующим образом:

exclude from build pop-up

Вы также можете контролировать то, что входит, выбрав свойства проекта ->C/C++ General ->Дорожки nd Символы ->Источник местоположения вкладка.

Я бы порекомендовал, что вместо включения драйверов, Inc и т. Д. Вы включаете все файлы в свой проект, начиная с корня. Для этого выберите все существующие записи в Исходные места и нажмите Удалить.После этого вы должны иметь только один автоматически воссоздан запись /STM32F7Explore, как это: (Не забудьте сделать то же самое изменение как для отладки и выпуска)

cleaned-up source configuration

Затем, если вы на самом деле хотите, чтобы исключить файлы/папки , повторите описанные выше шаги с помощью конфигураций ресурсов. CDT будет очень полезен здесь, если у вас есть отдельные файлы/папки под исходным каталогом, исключенным из сборки, вы получите еще один значок. Здесь я исключила одного C-файл (log_lcd.c) и каталог шрифтов:

exclude the other way

Некоторые из конкретной помощи для Eclipse CDT, которая относится к выше:

+0

Я добавил [Толкай Request] (https://github.com/HankB/STM32F7explore/pull/1) шо w изменения в коде. –

Смежные вопросы