【问题标题】:how to port a C makefile to a C++ makefile?如何将 C makefile 移植到 C++ makefile?
【发布时间】:2015-06-17 07:41:26
【问题描述】:

我有以下旧版 makefile。
如何更新此文件以编译 C++?
这是依赖部分:

# Dependency rules

.PHONY: all clean

all: $(TARGET)_$(JENNIC_CHIP)$(BIN_SUFFIX).bin

-include $(APPDEPS)
%.d:
    rm -f $*.o

%.o: %.S
    $(info Assembling $< ...)
    $(CC) -c -o $@ $(CFLAGS) $(INCFLAGS) $< -MD -MF $*.d -MP
    @echo

%.o: %.c 
    $(info Compiling $< ...)
    $(CC) -c -o $@ $(CFLAGS) $(INCFLAGS) $< -MD -MF $*.d -MP
    @echo

$(TARGET)_$(JENNIC_CHIP)$(BIN_SUFFIX).elf: $(APPOBJS) $(addsuffix _$(JENNIC_CHIP_FAMILY).a,$(addprefix $(COMPONENTS_BASE_DIR)/Library/lib,$(APPLIBS))) 
    $(info Linking $@ ...)
    $(CC) -Wl,--gc-sections -Wl,-u_AppColdStart -Wl,-u_AppWarmStart $(LDFLAGS) -T$(LINKCMD) -o $@ $(APPOBJS) -Wl,--start-group $(addprefix -l,$(LDLIBS)) -Wl,--end-group -Wl,-Map,$(TARGET)_$(JENNIC_CHIP)$(BIN_SUFFIX).map 
    ba-elf-size $@
    @echo

$(TARGET)_$(JENNIC_CHIP)$(BIN_SUFFIX).bin: $(TARGET)_$(JENNIC_CHIP)$(BIN_SUFFIX).elf 
    $(info Generating binary ...)
    $(OBJCOPY) -S -O binary $< $@

它为微型编译器编译了一些 C 代码。

【问题讨论】:

  • .cpp 文件添加一个目标,您使用C++ 编译器($(CXX)) 代替?也可能使用 C++ 标志 ($(CXXFLAGS))?
  • 您是否尝试过将CC 替换为CXX.c 替换为.cpp?大多数其他选项都不是 C 特定的。
  • @nneonneo 我会试试的。 tnx
  • @nneonneo 成功了!谢谢

标签: c++ c makefile


【解决方案1】:

我认为您应该将 CC 从 gcc 更改为 g++。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-14
    • 1970-01-01
    • 1970-01-01
    • 2013-12-22
    • 1970-01-01
    • 2012-08-15
    • 1970-01-01
    相关资源
    最近更新 更多