我在Mac OS X 10.6.5下工作 autoconf版本2.68 automake版本1.11.1 在使用autoconf,automake构建的大型项目中,我需要将.mm文件添加到库源。当我将它们添加到library_SOURCES变量时,即使我使用
,它们也不会编译AS_IF([test "$with_target" = "quartz"], [AC_PROG_OBJCXX])
在我的configure.ac中。测试成功通过,事件输出
checking whether we are using the GNU Objective C++ compiler... yes
和.mm文件无法编译。我在哪里可以解决这个问题?
答案 0 :(得分:1)
我使用自定义后缀规则解决了这个问题:
$ cat Makefile.am
.mm.o :
$(CXXCOMPILE) -x objective-c++ -с $< -o $@
bin_PROGRAMS = foo
foo_SOURCES = foo.mm bar.m baz.cpp
BTW,如果来自* .mm的* .o放在库中,我无法正确链接目标二进制文件。