Объективная поддержка C ++ в автоинструментах - PullRequest
0 голосов
/ 22 декабря 2010

Я работаю под 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 Ответ

1 голос
/ 26 декабря 2010

Я решил эту проблему с помощью пользовательского суффиксного правила:

$ cat Makefile.am

.mm.o :
  $(CXXCOMPILE) -x objective-c++ -с $< -o $@

bin_PROGRAMS = foo
foo_SOURCES = foo.mm bar.m baz.cpp

Кстати, если * .o из * .mm помещены в библиотеку, я не смог правильно связать целевой двоичный файл.

...