2017-02-22 19 views
0

私はEclipse/Neon.2のCDTプロジェクトで、組み込みターゲット用にクロスコンパイルを行っています。私はプロジェクトに.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を強制的にプロジェクトからワークスペースと.settingsから.metadata/.plugins/org.eclipse.core.runtime/.settingsを削除した彼らは両方のために同じように見える(特に、EclipseはFile (C Source File)

としてlcd_log.cを認識しませんこれらを再生成し、それが問題を解決しませんでした。

プロジェクトはGitHubの(https://github.com/HankB/STM32F7explore)であるが、あなたはSTの組み込みプロセッサのために開発することが起こる場合を除き構築するための要件は少し急です。

ありがとう!

答えて

1

WhここではLog(またはその親のUtilities)ディレクトリがプロジェクトのソースではなく、除外されているプロジェクト内の余分なファイルです。

プロジェクトエクスプローラにはいくつかの視覚的な手がかりがあります。以下の赤で2つのボックスの比較:

Src vs Log

あなたはSrcdma2d.cファイルがLoglcd_log.cとは異なるアイコンを使用して見ることができるように。 リソース構成> - - >ビルド...から除外して、ポップアップでデバッグとリリースのチェックを外す

あなたは右クリックして、フォルダ、または個々のファイルを、再度有効にすることができますそれは次のようになります。

exclude from build pop-up

また、プロジェクトのプロパティを選択することで、何が含まれているかを制御することができます - >C/C++一般 - >パスA ndシンボル - >ソースの場所タブ。

私は、Drivers、Incなどを明示的に含めるのではなく、プロジェクトのルートにあるすべてのファイルを含めることをお勧めします。これを行うには、ソースロケーションのすべての既存エントリを選択し、を押します。その後、持っていなければならない一つだけ自動的に再作成このように、エントリー/STM32F7Explore:あなたが実際にファイル/フォルダを除外したい場合は、

cleaned-up source configuration

その後(デバッグとリリースの両方に同じ変更を行うことを忘れないでください)リソース設定で上記の手順を繰り返します。 CDTはここで非常に役立ちます。ビルドから除外されたソースディレクトリの下に個々のファイル/フォルダがある場合は、さらに別のアイコンが表示されます。ここで私は、単一のCファイル(log_lcd.c)とフォントのディレクトリを除外した:上記に関連するEclipseのCDTのための特定のヘルプの

exclude the other way

一部:

+0

の底部にIがshoに[Pull要求(https://github.com/HankB/STM32F7explore/pull/1)を加えコードの変更。 –

関連する問題