我正在尝试在 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 时,我收到了很多错误,例如:
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...
恕我直言,我正面临链接 ffmpeg 的问题。因为当我构建它时,我使用了 clang 编译器。但是 Qt 使用了 clang++ 编译器。我试图用标志重建ffmpeg
--cc=clang++
代替
--cc=clang
在我的第一个配置中。但后来我收到错误:
ERROR: libaacplus >= 2.0.0 not found
但是 libaacplus 出现在我的环境中。
谁能告诉我,请问我该如何解决这个问题?