我正在尝试在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
但是当我正在尝试构建应用程序时,我正在接收很多错误,就像:
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出现在我的环境中。
有人能说我吗,我怎么能决定这个问题?
答案 0 :(得分:0)
对此问题似乎相同,虽然库不同,
Qt5.1/Qt5.2 + Mac OS 10.9 (Mavericks) + XCode 5.0.2, Undefined symbols for architecture x86_64
您可能需要将号码(帖子中的10.9)更改为不同的设置(可能是10.8,具体取决于您的XCode SDK而不是Mac OS版本)