autotools中的Objective C ++支持

时间:2010-12-22 04:51:01

标签: autotools objective-c++

我在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文件无法编译。我在哪里可以解决这个问题?

1 个答案:

答案 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放在库中,我无法正确链接目标二进制文件。