Мне нужно скомпилировать PJSIP
в CPP
компиляторе. Потому что я интегрирую API с PJSIP
. Это в CPP
. Поэтому я должен использовать g++
вместо gcc
. Но теперь я не интегрировал другие API.
Но я получаю ошибку компоновщика в CPP
компиляторе. Если это компилятор C
, он работает нормально.
Ошибка:
Undefined symbols for architecture arm:
"_crypto_alloc", referenced from:
srtp_stream_clone(srtp_stream_ctx_t const*, unsigned int, srtp_stream_ctx_t**)in libsrtp-arm-apple-darwin9.a(srtp.o)
srtp_stream_alloc(srtp_stream_ctx_t**, srtp_policy_t const*) in libsrtp-arm-apple-darwin9.a(srtp.o)
_srtp_create in libsrtp-arm-apple-darwin9.a(srtp.o)
"_aes_icm_context_init", referenced from:
srtp_kdf_init(srtp_kdf_t*, unsigned char const*)in libsrtp-arm-apple-darwin9.a(srtp.o)
"_crypto_kernel_load_debug_module", referenced from:
_srtp_init in libsrtp-arm-apple-darwin9.a(srtp.o)
"_rdbx_init", referenced from:
srtp_stream_init(srtp_stream_ctx_t*, srtp_policy_t const*) in libsrtp-arm-apple-darwin9.a(srtp.o)
srtp_stream_clone(srtp_stream_ctx_t const*, unsigned int, srtp_stream_ctx_t**)in libsrtp-arm-apple-darwin9.a(srtp.o)
"_key_limit_clone", referenced from:
srtp_stream_clone(srtp_stream_ctx_t const*, unsigned int, srtp_stream_ctx_t**)in libsrtp-arm-apple-darwin9.a(srtp.o)
"_auth_get_tag_length", referenced from:
_srtp_unprotect_rtcp in libsrtp-arm-apple-darwin9.a(srtp.o)
_srtp_protect_rtcp in libsrtp-arm-apple-darwin9.a(srtp.o)
_srtp_unprotect in libsrtp-arm-apple-darwin9.a(srtp.o)
_srtp_protect in libsrtp-arm-apple-darwin9.a(srtp.o)
...
...
На самом деле я ничего не изменил в makefile
.
Примечание:
В файле srtp.c
уже включен файл alloc.h
. Я оценил это и скомпилировал. Я получил ту же ошибку компоновщика только. Я думаю двумя способами. Но я не уверен в этом.
1. Он не связывается с .o
файлами
2. Это не берет заголовочные файлы. (Мне не ясно с этим.)
Пожалуйста, помогите мне решить эту проблему.