2013-10-12 58 views
2

當我的項目的編制,我切換在Xcode 4.5 Xcode的5鐺:不能使用「預編譯頭」多-arch選項輸出

clang: cannot use 'precompiled-header' output with multiple -arch options  

我的GNU Makefile時,突然得到這個錯誤消息包含以下片段:

define build 
CC-$(platform)-$(2)?=$(CC-$(platform)) 

$(bindir)/$(platformdir)-$(2)$($(3)-dirsuffix)/$(1)_%: $(srcdir)/$(1)/%.c $(common) 
    mkdir -p $$(@D) 
    $$(CC-$(platform)-$(2)) $(cflags) $($(3)-cflags) $(CFLAGS) -o [email protected] $$^ $($(3)-ldflags) $(LDFLAGS) 
endef 

$(foreach library,$(libraries),$(foreach arch,$(archs),$(foreach configuration,$(configurations),$(eval $(call build,$(library),$(arch),$(configuration)))))) 

而且$(CC)評估爲cc其被鏈接到鐺。

回答

1

solution是從文件中被 通過使用GNU Make編制名單中篩選出的頭文件的$(filter-out pattern...,text)功能,以篩選出符合%.h一切:

define build 
CC-$(platform)-$(2)?=$(CC-$(platform)) 

$(bindir)/$(platformdir)-$(2)$($(3)-dirsuffix)/$(1)_%: $(srcdir)/$(1)/%.c $(common) 
    mkdir -p $$(@D) 
    $$(CC-$(platform)-$(2)) $(cflags) $($(3)-cflags) $(CFLAGS) -o [email protected] $$(filter-out %.h,$$^) $($(3)-ldflags) $(LDFLAGS) 
endef 

然後clang ISN「不再困惑了。

+0

那是顯而易見的...... *嘆* –