Я пытаюсь создать какое-то приложение в Mac OS X 10.8.5.
Я использую Qt 5.1.1 (Clang 3.1, 64 бит) и Qt Creator 2.8.1
ffmpeg последнее из git repos.
ffmpeg был успешно создан с последующей настройкой
./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable- libaacplus --enable-libass --enable-libcelt --enable-libfaac --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-openssl --enable-libopus --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvo-aacenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-shared --disable-static --cc=clang --arch=x86_64 --enable-libxvid --prefix=/Users/ad/dev/ffmpeg/build
Но когда я пытаюсь создать приложение int Qt, я получаю много ошибок, smth вроде:
Undefined symbols for architecture x86_64:
"_BN_CTX_free", referenced from:
_dh_is_valid_public_key in libavformat.a(rtmpdh.o)
"_BN_CTX_new", referenced from:
_dh_is_valid_public_key in libavformat.a(rtmpdh.o)
"_BN_bin2bn", referenced from:
_ff_dh_compute_shared_secret_key in libavformat.a(rtmpdh.o)
etc...
IMHO У меня проблема с привязкой ffmpeg. Потому что, когда я его построил, я использовал компилятор clang. Но Qt использовал компилятор clang++. Я попытался восстановить ffmpeg с флагом
--cc=clang++
вместо
--cc=clang
в моей первой конфигурации. Но затем я получаю ошибку:
ERROR: libaacplus >= 2.0.0 not found
Но libaacplus представлен в моем окружении.
Может ли кто-нибудь сказать мне, пожалуйста, как я могу решить эту проблему?
Похоже, что эта проблема, хотя и отличается от библиотеки,
Qt5.1/Qt5.2 + Mac OS 10.9 (Mavericks) + XCode 5.0.2, Неопределенные символы для архитектуры x86_64
Возможно, вам придется изменить число (10.9 в сообщении) на разные настройки (возможно, 10.8, в зависимости от ваших SDK XCode, но не версии для Mac OS)