У меня есть PHP-модуль, написанный на C++, который опирается на установленную C++-библиотеку (Boost Date_Time).Как я могу проверить unmangled символ C++ при создании расширения PHP?
В настоящее время, в моем файле config.m4 я проверяю для библиотеки следующим образом:
LIBNAME=boost_date_time
LIBSYMBOL=_ZN5boost9gregorian9bad_monthD0Ev
PHP_CHECK_LIBRARY($LIBNAME,$LIBSYMBOL,,
[
AC_MSG_ERROR([lib $LIBNAME not found. Try: sudo apt-get install libboost-dev])
],[
-lstdc++ -ldl
])
Теперь, это работает в моей текущей ситуации, но я болезненно осознает это, вероятно, перерыв на другой версии библиотеки или компилятора.
Как я могу получить automake, чтобы понять неповрежденный символ C++?
Edit:
Я понимаю, что проверка на искаженное имя попало, но не какой-то способ проверки имени символа в качестве возвращаемого «нм -C» (например, повышение :: григорианскому :: bad_month и т.д).
Я нашел некоторое подтверждение для команды automake AC_LANG_CPLUSPLUS(), но я не уверен, как ее использовать и применимо ли здесь.
Перечитайте вопрос - это не то, о чем он спрашивает. – 2009-04-28 15:47:09