C++ Makefile change可在不同格式的文件之间进行选择
目前,我的项目中有.c和.cpp文件格式的文件。我想在Makefile中自动生成对象文件,以便根据文件的可用性动态选择.c或.cpp文件 目前,C++ Makefile change可在不同格式的文件之间进行选择,c++,c,makefile,C++,C,Makefile,目前,我的项目中有.c和.cpp文件格式的文件。我想在Makefile中自动生成对象文件,以便根据文件的可用性动态选择.c或.cpp文件 目前, obj/%.o : %.cpp $(CXX) $(MKDEPEND) -c -o $@ $(CFLAGS) $(INCDIRS) $< obj/%.o:%.cpp $(CXX)$(MKDEPEND)-c-o$@$(CFLAGS)$(INCDIRS)$< 样品溶液 obj/%.o : %.cpp (OR) %.c $(CXX)
obj/%.o : %.cpp
$(CXX) $(MKDEPEND) -c -o $@ $(CFLAGS) $(INCDIRS) $<
obj/%.o:%.cpp
$(CXX)$(MKDEPEND)-c-o$@$(CFLAGS)$(INCDIRS)$<
样品溶液
obj/%.o : %.cpp (OR) %.c
$(CXX) $(MKDEPEND) -c -o $@ $(CFLAGS) $(INCDIRS) $<
obj/%.o:%.cpp(或)%.c
$(CXX)$(MKDEPEND)-c-o$@$(CFLAGS)$(INCDIRS)$<
有什么解决办法吗?谢谢。只要制定两条不同的规则就行了。无论如何,你不想对两个方法使用相同的配方(你不想使用C++编译器编译C代码)。
obj/%.o:%.cpp
$(CXX)$(MKDEPEND)-c-o$@$(CXXFLAGS)$(INCDIRS)$<
obj/%.o:%.c
$(CC)$(MKDEPEND)-c-o$@$(CFLAGS)$(INCDIRS)$<
Make将尝试匹配这两个规则,并使用任何一个匹配的规则,而忽略其他规则。只需创建两个不同的规则即可。无论如何,你不想对两个方法使用相同的配方(你不想使用C++编译器编译C代码)。
obj/%.o:%.cpp
$(CXX)$(MKDEPEND)-c-o$@$(CXXFLAGS)$(INCDIRS)$<
obj/%.o:%.c
$(CC)$(MKDEPEND)-c-o$@$(CFLAGS)$(INCDIRS)$<
Make将尝试匹配这两个规则,并使用任何一个匹配的规则,而忽略其他规则
obj/%.o : %.cpp
$(CXX) $(MKDEPEND) -c -o $@ $(CXXFLAGS) $(INCDIRS) $<
obj/%.o : %.c
$(CC) $(MKDEPEND) -c -o $@ $(CFLAGS) $(INCDIRS) $<