Когда я компилирую свой код, gcc, кажется, путает файлы .d в моих опциях gcc с источником языка программирования D и жалуется, что не может найти компилятор "cc1d". Таким образом, я получаю следующий вывод при запуске make:
gcc -c -I. -IUnity/src/ -Isrc/ -Ilib/ -DTEST test/Testworker.c -o build/objs/Testworker.o
gcc -c -I. -IUnity/src/ -Isrc/ -Ilib/ -DTEST src/worker.c -o build/objs/worker.o
gcc -o build/Testworker.out build/objs/Testworker.o build/objs/worker.o Unity/src/unity.o build/depends/Testworker.d
gcc: error trying to exec 'cc1d': execvp: No such file or directory
Makefile:56: recipe for target 'build/Testworker.out' failed
make: *** [build/Testworker.out] Error 1
Как я могу сказать gcc, что я действительно имею в виду, что мои * .d файлы являются зависимостями, а не большим количеством исходных файлов?
Я попытался переименовать мои промежуточные * .d файлы в * .dep в моем Makefile, но gcc также не распознает их, ...
Вот мое правило Makefile, вызывающее проблемы:one:
$(PATHB)Test%.$(TARGET_EXTENSION): $(PATHO)Test%.o $(PATHO)%.o $(PATHU)unity.o $(PATHD)Test%.d
$(LINK) -o $@ $^
Зависимое правило Makefile для создания файлов .d работает нормально:
$(DEPEND) $@ $<
, и я знаю, что мои файлы .d создаются. Моя единственная проблема, когда