나는 C++로 작성된 PHP 모듈을 가지고있다. PHP 모듈은 설치되는 C++ 라이브러리 (Boost Date_Time)에 의존한다.PHP 확장 기능을 빌드 할 때 unmangled C++ 심볼을 어떻게 확인합니까?
다음과 같이현재, 내 config.m4 파일 파일 I 라이브러리를 확인하고 있습니다 :
이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가 mangled가 아닌 C++ 심볼을 이해하려면 어떻게해야합니까?
편집 : 나는 엉망이 이름을 확인하는 것은 끔찍하지만, "나노 -C"에 의해 반환되는 심볼 이름을 확인하는 몇 가지 방법이 아니라는 것을 깨닫게
(예 : 부스트 : 그레고리 :: bad_month을 기타).
automake 명령 AC_LANG_CPLUSPLUS()에 대한 리펙스를 찾았지만 사용법 및 여기에 적용 할 수 있는지 여부는 확실하지 않습니다.
질문을 다시 읽으십시오 - 그가 묻는 것이 아닙니다. –