GCC似乎使C * .d依赖文件与D语言源代码混淆

当我编译代码时,gcc似乎将我的gcc选项中的.d文件与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文件重命名为我的Makefile中的* .dep,但是gcc也无法识别这些文件...

引起问题的我的Makefile规则是这样的:

$(PATHB)Test%.$(TARGET_EXTENSION): $(PATHO)Test%.o $(PATHO)%.o $(PATHU)unity.o $(PATHD)Test%.d
    $(LINK) -o $@ $^

用于生成.d文件的从属Makefile规则运行良好:

    $(DEPEND) $@ $<

,而且我知道正在创建.d文件。我的问题是

woai0108 回答:GCC似乎使C * .d依赖文件与D语言源代码混淆

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3156841.html

大家都在问