{"action":"created","issue":{"url":"https://api.github.com/repos/wang-bin/QtAV/issues/515","labels_url":"https://api.github.com/repos/wang-bin/QtAV/issues/515/labels{/name}","comments_url":"https://api.github.com/repos/wang-bin/QtAV/issues/515/comments","events_url":"https://api.github.com/repos/wang-bin/QtAV/issues/515/events","html_url":"https://github.com/wang-bin/QtAV/issues/515","id":107619168,"number":515,"title":"Can not compile simpleplayer for MAC Yosemite in QT5.5 and ffmpeg 2.8","user":{"login":"PLakatos","id":14370772,"avatar_url":"https://avatars.githubusercontent.com/u/14370772?v=3","gravatar_id":"","url":"https://api.github.com/users/PLakatos","html_url":"https://github.com/PLakatos","followers_url":"https://api.github.com/users/PLakatos/followers","following_url":"https://api.github.com/users/PLakatos/following{/other_user}","gists_url":"https://api.github.com/users/PLakatos/gists{/gist_id}","starred_url":"https://api.github.com/users/PLakatos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PLakatos/subscriptions","organizations_url":"https://api.github.com/users/PLakatos/orgs","repos_url":"https://api.github.com/users/PLakatos/repos","events_url":"https://api.github.com/users/PLakatos/events{/privacy}","received_events_url":"https://api.github.com/users/PLakatos/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":10,"created_at":"2015-09-21T23:39:26Z","updated_at":"2015-09-30T03:24:50Z","closed_at":null,"body":"Hi,\r\ni am not quite sure if this is the right way to commit my problem, but i struggle since weeks with this problem. \r\nTo build the latest QtAV version i also built the latest ffmpeg according to your wiki. I used your sdk_install.sh to copy the QtAV framework. I created a test simpleplayer app, included everything you described in your wiki, compiled simpleplayer and it was running.\r\n\r\nNow i made the same steps. I created a sliced ffmeg library for armv7 arm64 i386 and X86_64. This library i copied to the Qt/5.5/ios folder. After commenting out these lines in QtAV.pro:\r\n#!no-examples {\r\n#SUBDIRS += examples\r\n#examples.depends += libqtav\r\n#}\r\n#!cross_compile:!no-tests {\r\n#SUBDIRS += tests\r\n#tests.depends += libqtav libqtavwidgets\r\n#}\r\n\r\nalso i add following lines to the .qmake.conf\r\nQMAKE_CXXFLAGS += -F/System/Library/Frameworks\r\nQMAKE_LFLAGS += -F/System/Library/Frameworks\r\nLIBS += -framework OpenAL -framework IOSurface -framework VideoToolbox\r\n\r\nand i added following line to libQtAV.pro and libQTAVWidgets.pro\r\nCONFIG += static\r\n\r\nAs you described, i configured the QtAV project with my Qt iOS kit and built the project. With these settings i was able to build QtAV for iPhone and iPhonesimulator. Again i used your sdk_install.sh to copy the QtAV framework. I changed my simpleplayer app project to Qt iOS kit, but this time the built failed. After renaming \r\nQt/5.5/ios/libQtAVWidgets_iphonesimulator.a and Qt/5.5/ios/libQtAV_iphonesimulator.a to \r\nQt/5.5/ios/libQt5AVWidgets_iphonesimulator.a and Qt/5.5/ios/libQt5AV_iphonesimulator.a QT finally started to build, but stopped with following errors:\r\nUndefined symbols for architecture i386:\r\n  \"_av_bitstream_filter_close\", referenced from:\r\n      QtAV::VideoDecoderCUDAPrivate::open() in libQt5AV_iphonesimulator.a(VideoDecoderCUDA.o)\r\n      QtAV::VideoDecoderCUDAPrivate::setBSF(AVCodecID) in libQt5AV_iphonesimulator.a(VideoDecoderCUDA.o)\r\n      QtAV::VideoDecoderCUDAPrivate::HandleVideoSequence(void*, CUVIDEOFORMAT*) in libQt5AV_iphonesimulator.a(VideoDecoderCUDA.o)\r\n      QtAV::VideoDecoderCUDAPrivate::~VideoDecoderCUDAPrivate() in libQt5AV_iphonesimulator.a(VideoDecoderCUDA.o)\r\n  \"_av_bitstream_filter_filter\", referenced from:\r\n      QtAV::VideoDecoderCUDA::decode(QByteArray const&) in libQt5AV_iphonesimulator.a(VideoDecoderCUDA.o)\r\n      QtAV::VideoDecoderCUDA::decode(QtAV::Packet const&) in libQt5AV_iphonesimulator.a(VideoDecoderCUDA.o)\r\n  \"_av_bitstream_filter_init\", referenced from:\r\n      QtAV::VideoDecoderCUDAPrivate::open() in libQt5AV_iphonesimulator.a(VideoDecoderCUDA.o)\r\n      QtAV::VideoDecoderCUDAPrivate::setBSF(AVCodecID) in libQt5AV_iphonesimulator.a(VideoDecoderCUDA.o)\r\n      QtAV::VideoDecoderCUDAPrivate::HandleVideoSequence(void*, CUVIDEOFORMAT*) in libQt5AV_iphonesimulator.a(VideoDecoderCUDA.o)\r\n  \"_av_buffer_ref\", referenced from:\r\n      QtAV::AVFrameBuffers::AVFrameBuffers(AVFrame*) in libQt5AV_iphonesimulator.a(VideoDecoderFFmpeg.o)\r\n  \"_av_buffer_unref\", referenced from:\r\n      QtAV::AVFrameBuffers::~AVFrameBuffers() in libQt5AV_iphonesimulator.a(VideoDecoderFFmpeg.o)\r\n  \"_av_dict_free\", referenced from:\r\n      QtAV::AVDecoderPrivate::applyOptionsForDict() in libQt5AV_iphonesimulator.a(AVDecoder.o)\r\n      QtAV::AVDemuxer::Private::applyOptionsForDict() in libQt5AV_iphonesimulator.a(AVDemuxer.o)\r\n      QtAV::AVDemuxer::Private::~Private() in libQt5AV_iphonesimulator.a(AVDemuxer.o)\r\n      QtAV::AVDecoderPrivate::~AVDecoderPrivate() in libQt5AV_iphonesimulator.a(AudioDecoder.o)\r\n      QtAV::AVDecoderPrivate::~AVDecoderPrivate() in libQt5AV_iphonesimulator.a(VideoDecoderCUDA.o)\r\n      QtAV::AVDecoderPrivate::~AVDecoderPrivate() in libQt5AV_iphonesimulator.a(VideoDecoderFFmpeg.o)\r\n  \"_av_dict_get\", referenced from:\r\n      QtAV::AVPlayer::Private::initBaseStatistics() in libQt5AV_iphonesimulator.a(AVPlayerPrivate.o)\r\n      QtAV::AVPlayer::Private::initCommonStatistics(int, QtAV::Statistics::Common*, AVCodecContext*) in libQt5AV_iphonesimulator.a(AVPlayerPrivate.o)\r\n      QtAV::AVPlayer::Private::getTracksInfo(QtAV::AVDemuxer*, QtAV::AVDemuxer::StreamType) in libQt5AV_iphonesimulator.a(AVPlayerPrivate.o)\r\n  \"_av_dict_set\", referenced from:\r\n      QtAV::Internal::setOptionsToDict(QVariant const&, AVDictionary**) in libQt5AV_iphonesimulator.a(internal.o)\r\n      QtAV::AVDecoderPrivate::applyOptionsForDict() in libQt5AV_iphonesimulator.a(AVDecoder.o)\r\n  \"_av_find_best_stream\", referenced from:\r\n      QtAV::AVDemuxer::Private::prepareStreams() in libQt5AV_iphonesimulator.a(AVDemuxer.o)\r\n      QtAV::AVDemuxer::Private::setStream(QtAV::AVDemuxer::StreamType, int) in libQt5AV_iphonesimulator.a(AVDemuxer.o)\r\n  \"_av_find_input_format\", referenced from:\r\n      QtAV::AVDemuxer::load() in libQt5AV_iphonesimulator.a(AVDemuxer.o)\r\n  \"_av_frame_alloc\", referenced from:\r\n      QtAV::VideoDecoderFFmpeg::VideoDecoderFFmpeg() in libQt5AV_iphonesimulator.a(VideoDecoderFFmpeg.o)\r\n  \"_av_frame_free\", referenced from:\r\n      QtAV::VideoDecoderFFmpegPrivate::~VideoDecoderFFmpegPrivate() in libQt5AV_iphonesimulator.a(VideoDecoderFFmpeg.o)\r\n      QtAV::VideoDecoderFFmpegPrivate::~VideoDecoderFFmpegPrivate() in libQt5AV_iphonesimulator.a(VideoDecoderFFmpeg.o)\r\n      QtAV::VideoDecoderFFmpegBasePrivate::~VideoDecoderFFmpegBasePrivate() in libQt5AV_iphonesimulator.a(VideoDecoderFFmpeg.o)\r\n      QtAV::VideoDecoderFFmpegBasePrivate::~VideoDecoderFFmpegBasePrivate() in libQt5AV_iphonesimulator.a(VideoDecoderFFmpeg.o)\r\n  \"_av_frame_get_colorspace\", referenced from:\r\n      QtAV::VideoDecoderFFmpegBasePrivate::updateColorDetails(QtAV::VideoFrame*) in libQt5AV_iphonesimulator.a(VideoDecoderFFmpegBase.o)\r\n  \"_av_free_packet\", referenced from:\r\n      QtAV::AVDemuxer::readFrame() in libQt5AV_iphonesimulator.a(AVDemuxer.o)\r\n      QtAV::VideoDecoderFFmpegBase::decode(QByteArray const&) in libQt5AV_iphonesimulator.a(VideoDecoderFFmpegBase.o)\r\n  \"_av_freep\", referenced from:\r\n      QtAV::VideoDecoderCUDA::decode(QByteArray const&) in libQt5AV_iphonesimulator.a(VideoDecoderCUDA.o)\r\n      QtAV::VideoDecoderCUDA::decode(QtAV::Packet const&) in libQt5AV_iphonesimulator.a(VideoDecoderCUDA.o)\r\n  \"_av_get_channel_layout_nb_channels\", referenced from:\r\n      QtAV::AVPlayer::Private::initAudioStatistics(int) in libQt5AV_iphonesimulator.a(AVPlayerPrivate.o)\r\n      QtAV::AVPlayer::Private::setupAudioThread(QtAV::AVPlayer*) in libQt5AV_iphonesimulator.a(AVPlayerPrivate.o)\r\n      QtAV::AudioFormat::setChannelLayoutFFmpeg(long long) in libQt5AV_iphonesimulator.a(AudioFormat.o)\r\n      QtAV::AudioFormat::setChannelLayout(QtAV::AudioFormat::ChannelLayout) in libQt5AV_iphonesimulator.a(AudioFormat.o)\r\n      QtAV::AudioFormat::setChannels(int) in libQt5AV_iphonesimulator.a(AudioFormat.o)\r\n  \"_av_get_channel_layout_string\", referenced from:\r\n      QtAV::AVPlayer::Private::initAudioStatistics(int) in libQt5AV_iphonesimulator.a(AVPlayerPrivate.o)\r\n      QtAV::AudioFormat::channelLayoutName() const in libQt5AV_iphonesimulator.a(AudioFormat.o)\r\n      QtAV::operator<<(QDebug, QtAV::AudioFormat const&) in libQt5AV_iphonesimulator.a(AudioFormat.o)\r\n      QtAV::operator<<(QDebug, QtAV::AudioFormat::ChannelLayout) in libQt5AV_iphonesimulator.a(AudioFormat.o)\r\n  \"_av_get_cpu_flags\", referenced from:\r\n      QtAV::detect_sse4() in libQt5AV_iphonesimulator.a(GPUMemCopy.o)\r\n      QtAV::detect_sse2() in libQt5AV_iphonesimulator.a(GPUMemCopy.o)\r\n      QtAV::GPUMemCopy::isAvailable() in libQt5AV_iphonesimulator.a(GPUMemCopy.o)\r\n      QtAV::GPUMemCopy::isReady() const in libQt5AV_iphonesimulator.a(GPUMemCopy.o)\r\n      QtAV::GPUMemCopy::copyFrame(void*, void*, unsigned int, unsigned int, unsigned int) in libQt5AV_iphonesimulator.a(GPUMemCopy.o)\r\n      QtAV::gpu_memcpy(void*, void const*, unsigned long) in libQt5AV_iphonesimulator.a(GPUMemCopy.o)\r\n  \"_av_get_default_channel_layout\", referenced from:\r\n      QtAV::AVPlayer::Private::initAudioStatistics(int) in libQt5AV_iphonesimulator.a(AVPlayerPrivate.o)\r\n      QtAV::AVPlayer::Private::setupAudioThread(QtAV::AVPlayer*) in libQt5AV_iphonesimulator.a(AVPlayerPrivate.o)\r\n      QtAV::AudioFormat::setChannels(int) in libQt5AV_iphonesimulator.a(AudioFormat.o)\r\n  \"_av_get_pix_fmt\", referenced from:\r\n      QtAV::VideoFormat::VideoFormat(QString const&) in libQt5AV_iphonesimulator.a(VideoFormat.o)\r\n  \"_av_get_pix_fmt_name\", referenced from:\r\n      QtAV::AVPlayer::Private::initVideoStatistics(int) in libQt5AV_iphonesimulator.a(AVPlayerPrivate.o)\r\n      QtAV::VideoFormat::name() const in libQt5AV_iphonesimulator.a(VideoFormat.o)\r\n      QtAV::operator<<(QDebug, QtAV::VideoFormat const&) in libQt5AV_iphonesimulator.a(VideoFormat.o)\r\n      QtAV::operator<<(QDebug, QtAV::VideoFormat::PixelFormat) in libQt5AV_iphonesimulator.a(VideoFormat.o)\r\n      QtAV::ImageConverterFF::check() const in libQt5AV_iphonesimulator.a(ImageConverterFF.o)\r\n  \"_av_get_sample_fmt_name\", referenced from:\r\n      QtAV::AVPlayer::Private::initAudioStatistics(int) in libQt5AV_iphonesimulator.a(AVPlayerPrivate.o)\r\n      QtAV::AudioFormat::sampleFormatName() const in libQt5AV_iphonesimulator.a(AudioFormat.o)\r\n      QtAV::operator<<(QDebug, QtAV::AudioFormat::SampleFormat) in libQt5AV_iphonesimulator.a(AudioFormat.o)\r\n  \"_av_image_get_linesize\", referenced from:\r\n      QtAV::VideoFormat::bytesPerLine(int, int) const in libQt5AV_iphonesimulator.a(VideoFormat.o)\r\n  \"_av_init_packet\", referenced from:\r\n      QtAV::Packet::fromAVPacket(QtAV::Packet*, AVPacket const*, double) in libQt5AV_iphonesimulator.a(Packet.o)\r\n      QtAV::Packet::asAVPacket() const in libQt5AV_iphonesimulator.a(Packet.o)\r\n      QSharedDataPointer<QtAV::PacketPrivate>::detach_helper() in libQt5AV_iphonesimulator.a(Packet.o)\r\n      QtAV::VideoDecoderFFmpegBase::decode(QByteArray const&) in libQt5AV_iphonesimulator.a(VideoDecoderFFmpegBase.o)\r\n      QtAV::VideoDecoderFFmpegBase::decode(QtAV::Packet const&) in libQt5AV_iphonesimulator.a(VideoDecoderFFmpegBase.o)\r\n  \"_av_log\", referenced from:\r\n      QtAV::AVDecoder::setCodecContext(void*) in libQt5AV_iphonesimulator.a(AVDecoder.o)\r\n      QtAV::AVDecoder::open() in libQt5AV_iphonesimulator.a(AVDecoder.o)\r\n      QtAV::AVDecoder::close() in libQt5AV_iphonesimulator.a(AVDecoder.o)\r\n      get_codec_long_name(AVCodecID) in libQt5AV_iphonesimulator.a(AVCompat.o)\r\n  \"_av_log_default_callback\", referenced from:\r\n      QtAV::setFFmpegLogHandler(void (*)(void*, int, char const*, char*)) in libQt5AV_iphonesimulator.a(QtAV_Global.o)\r\n      __GLOBAL__sub_I_QtAV_Global.cpp in libQt5AV_iphonesimulator.a(QtAV_Global.o)\r\n  \"_av_log_set_callback\", referenced from:\r\n      QtAV::setFFmpegLogHandler(void (*)(void*, int, char const*, char*)) in libQt5AV_iphonesimulator.a(QtAV_Global.o)\r\n      __GLOBAL__sub_I_QtAV_Global.cpp in libQt5AV_iphonesimulator.a(QtAV_Global.o)\r\n  \"_av_log_set_level\", referenced from:\r\n      __GLOBAL__sub_I_QtAV_Global.cpp in libQt5AV_iphonesimulator.a(QtAV_Global.o)\r\n  \"_av_malloc\", referenced from:\r\n      QtAV::MediaIO::avioContext() in libQt5AV_iphonesimulator.a(MediaIO.o)\r\n  \"_av_opt_next\", referenced from:\r\n      QtAV::Internal::options2StringHelper(void*, char const*) in libQt5AV_iphonesimulator.a(internal.o)\r\n  \"_av_opt_set_double\", referenced from:\r\n      QtAV::Internal::setOptionsToFFmpegObj(QVariant const&, void*) in libQt5AV_iphonesimulator.a(internal.o)\r\n  \"_av_opt_set_int\", referenced from:\r\n      QtAV::Internal::setOptionsToFFmpegObj(QVariant const&, void*) in libQt5AV_iphonesimulator.a(internal.o)\r\n      QtAV::AVDecoder::open() in libQt5AV_iphonesimulator.a(AVDecoder.o)\r\n      swr_alloc_set_opts(AVAudioResampleContext*, long long, AVSampleFormat, int, long long, AVSampleFormat, int, int, void*) in libQt5AV_iphonesimulator.a(AVCompat.o)\r\n      QtAV::VideoDecoderFFmpeg::setSkipLoopFilter(QtAV::VideoDecoderFFmpeg::DiscardType) in libQt5AV_iphonesimulator.a(VideoDecoderFFmpeg.o)\r\n      QtAV::VideoDecoderFFmpeg::setSkipIDCT(QtAV::VideoDecoderFFmpeg::DiscardType) in libQt5AV_iphonesimulator.a(VideoDecoderFFmpeg.o)\r\n      QtAV::VideoDecoderFFmpeg::setStrict(QtAV::VideoDecoderFFmpeg::StrictType) in libQt5AV_iphonesimulator.a(VideoDecoderFFmpeg.o)\r\n      QtAV::VideoDecoderFFmpeg::setSkipFrame(QtAV::VideoDecoderFFmpeg::DiscardType) in libQt5AV_iphonesimulator.a(VideoDecoderFFmpeg.o)\r\n      ...\r\n  \"_av_packet_ref\", referenced from:\r\n      QtAV::Packet::fromAVPacket(QtAV::Packet*, AVPacket const*, double) in libQt5AV_iphonesimulator.a(Packet.o)\r\n      QSharedDataPointer<QtAV::PacketPrivate>::detach_helper() in libQt5AV_iphonesimulator.a(Packet.o)\r\n  \"_av_packet_unref\", referenced from:\r\n      QtAV::Packet::fromAVPacket(QtAV::Packet*, AVPacket const*, double) in libQt5AV_iphonesimulator.a(Packet.o)\r\n      QtAV::Packet::operator=(QtAV::Packet const&) in libQt5AV_iphonesimulator.a(Packet.o)\r\n      QtAV::Packet::~Packet() in libQt5AV_iphonesimulator.a(Packet.o)\r\n      QtAV::Packet::asAVPacket() const in libQt5AV_iphonesimulator.a(Packet.o)\r\n      QSharedDataPointer<QtAV::PacketPrivate>::detach_helper() in libQt5AV_iphonesimulator.a(Packet.o)\r\n  \"_av_pix_fmt_count_planes\", referenced from:\r\n      QtAV::VideoFormatPrivate::init() in libQt5AV_iphonesimulator.a(VideoFormat.o)\r\n  \"_av_pix_fmt_desc_get\", referenced from:\r\n      QtAV::VideoFormatPrivate::init() in libQt5AV_iphonesimulator.a(VideoFormat.o)\r\n  \"_av_read_frame\", referenced from:\r\n      QtAV::AVDemuxer::readFrame() in libQt5AV_iphonesimulator.a(AVDemuxer.o)\r\n  \"_av_register_all\", referenced from:\r\n      QtAV::AVDemuxer::AVDemuxer(QObject*) in libQt5AV_iphonesimulator.a(AVDemuxer.o)\r\n      QtAV::AVDemuxer::supportedProtocols() in libQt5AV_iphonesimulator.a(AVDemuxer.o)\r\n  \"_av_samples_get_buffer_size\", referenced from:\r\n      QtAV::AudioFrame::allocate() in libQt5AV_iphonesimulator.a(AudioFrame.o)\r\n  \"_av_seek_frame\", referenced from:\r\n      QtAV::AVDemuxer::seek(long long) in libQt5AV_iphonesimulator.a(AVDemuxer.o)\r\n  \"_av_strerror\", referenced from:\r\n      QtAV::AVDecoder::setCodecContext(void*) in libQt5AV_iphonesimulator.a(AVDecoder.o)\r\n      QtAV::AVDecoder::open() in libQt5AV_iphonesimulator.a(AVDecoder.o)\r\n      QtAV::AVDecoder::close() in libQt5AV_iphonesimulator.a(AVDecoder.o)\r\n      QtAV::AVDemuxer::readFrame() in libQt5AV_iphonesimulator.a(AVDemuxer.o)\r\n      QtAV::AVError::string() const in libQt5AV_iphonesimulator.a(AVError.o)\r\n      QtAV::AVError::ffmpegErrorString() const in libQt5AV_iphonesimulator.a(AVError.o)\r\n      QtAV::VideoDecoderCUDA::decode(QByteArray const&) in libQt5AV_iphonesimulator.a(VideoDecoderCUDA.o)\r\n      ...\r\n  \"_avcodec_alloc_context3\", referenced from:\r\n      QtAV::AVDecoder::setCodecContext(void*) in libQt5AV_iphonesimulator.a(AVDecoder.o)\r\n      QtAV::AVDecoderPrivate::AVDecoderPrivate() in libQt5AV_iphonesimulator.a(AudioDecoder.o)\r\n      QtAV::AVDecoderPrivate::AVDecoderPrivate() in libQt5AV_iphonesimulator.a(VideoDecoderCUDA.o)\r\n      QtAV::AVDecoderPrivate::AVDecoderPrivate() in libQt5AV_iphonesimulator.a(VideoDecoderFFmpeg.o)\r\n  \"_avcodec_close\", referenced from:\r\n      QtAV::AVDecoder::close() in libQt5AV_iphonesimulator.a(AVDecoder.o)\r\n  \"_avcodec_configuration\", referenced from:\r\n      QtAV::Internal::get_depend_component(QtAV::Internal::depend_component const*) in libQt5AV_iphonesimulator.a(QtAV_Global.o)\r\n  \"_avcodec_copy_context\", referenced from:\r\n      QtAV::AVDecoder::setCodecContext(void*) in libQt5AV_iphonesimulator.a(AVDecoder.o)\r\n  \"_avcodec_decode_video2\", referenced from:\r\n      QtAV::VideoDecoderFFmpegBase::decode(QByteArray const&) in libQt5AV_iphonesimulator.a(VideoDecoderFFmpegBase.o)\r\n      QtAV::VideoDecoderFFmpegBase::decode(QtAV::Packet const&) in libQt5AV_iphonesimulator.a(VideoDecoderFFmpegBase.o)\r\n  \"_avcodec_descriptor_get\", referenced from:\r\n      QtAV::AVPlayer::Private::getTracksInfo(QtAV::AVDemuxer*, QtAV::AVDemuxer::StreamType) in libQt5AV_iphonesimulator.a(AVPlayerPrivate.o)\r\n      QtAV::AVPlayer::Private::applySubtitleStream(int, QtAV::AVPlayer*) in libQt5AV_iphonesimulator.a(AVPlayerPrivate.o)\r\n      get_codec_long_name(AVCodecID) in libQt5AV_iphonesimulator.a(AVCompat.o)\r\n  \"_avcodec_descriptor_get_by_name\", referenced from:\r\n      QtAV::AVDecoder::open() in libQt5AV_iphonesimulator.a(AVDecoder.o)\r\n  \"_avcodec_find_decoder\", referenced from:\r\n      QtAV::AVDecoder::open() in libQt5AV_iphonesimulator.a(AVDecoder.o)\r\n      get_codec_long_name(AVCodecID) in libQt5AV_iphonesimulator.a(AVCompat.o)\r\n  \"_avcodec_find_decoder_by_name\", referenced from:\r\n      QtAV::AVDecoder::open() in libQt5AV_iphonesimulator.a(AVDecoder.o)\r\n  \"_avcodec_find_encoder\", referenced from:\r\n      get_codec_long_name(AVCodecID) in libQt5AV_iphonesimulator.a(AVCompat.o)\r\n  \"_avcodec_flush_buffers\", referenced from:\r\n      QtAV::AVDecoder::flush() in libQt5AV_iphonesimulator.a(AVDecoder.o)\r\n  \"_avcodec_free_context\", referenced from:\r\n      QtAV::AVDecoder::~AVDecoder() in libQt5AV_iphonesimulator.a(AVDecoder.o)\r\n      QtAV::AVDecoder::setCodecContext(void*) in libQt5AV_iphonesimulator.a(AVDecoder.o)\r\n      QtAV::AVDecoderPrivate::~AVDecoderPrivate() in libQt5AV_iphonesimulator.a(AudioDecoder.o)\r\n      QtAV::AVDecoderPrivate::~AVDecoderPrivate() in libQt5AV_iphonesimulator.a(VideoDecoderCUDA.o)\r\n      QtAV::AVDecoderPrivate::~AVDecoderPrivate() in libQt5AV_iphonesimulator.a(VideoDecoderFFmpeg.o)\r\n  \"_avcodec_get_name\", referenced from:\r\n      QtAV::AVPlayer::Private::initCommonStatistics(int, QtAV::Statistics::Common*, AVCodecContext*) in libQt5AV_iphonesimulator.a(AVPlayerPrivate.o)\r\n      QtAV::AVDecoder::open() in libQt5AV_iphonesimulator.a(AVDecoder.o)\r\n      QtAV::VideoDecoderCUDAPrivate::createCUVIDParser() in libQt5AV_iphonesimulator.a(VideoDecoderCUDA.o)\r\n  \"_avcodec_license\", referenced from:\r\n      QtAV::Internal::get_depend_component(QtAV::Internal::depend_component const*) in libQt5AV_iphonesimulator.a(QtAV_Global.o)\r\n  \"_avcodec_open2\", referenced from:\r\n      QtAV::AVDecoder::open() in libQt5AV_iphonesimulator.a(AVDecoder.o)\r\n  \"_avcodec_register_all\", referenced from:\r\n      QtAV::AVDecoder::AVDecoder(QtAV::AVDecoderPrivate&) in libQt5AV_iphonesimulator.a(AVDecoder.o)\r\n      QtAV::AVDemuxer::AVDemuxer(QObject*) in libQt5AV_iphonesimulator.a(AVDemuxer.o)\r\n      QtAV::VideoDecoderFFmpeg::VideoDecoderFFmpeg() in libQt5AV_iphonesimulator.a(VideoDecoderFFmpeg.o)\r\n  \"_avcodec_version\", referenced from:\r\n      QtAV::Internal::get_depend_component(QtAV::Internal::depend_component const*) in libQt5AV_iphonesimulator.a(QtAV_Global.o)\r\n      QtAV::VideoDecoderFFmpeg::description() const in libQt5AV_iphonesimulator.a(VideoDecoderFFmpeg.o)\r\n  \"_avdevice_configuration\", referenced from:\r\n      QtAV::Internal::get_depend_component(QtAV::Internal::depend_component const*) in libQt5AV_iphonesimulator.a(QtAV_Global.o)\r\n  \"_avdevice_license\", referenced from:\r\n      QtAV::Internal::get_depend_component(QtAV::Internal::depend_component const*) in libQt5AV_iphonesimulator.a(QtAV_Global.o)\r\n  \"_avdevice_register_all\", referenced from:\r\n      QtAV::AVDemuxer::AVDemuxer(QObject*) in libQt5AV_iphonesimulator.a(AVDemuxer.o)\r\n  \"_avdevice_version\", referenced from:\r\n      QtAV::Internal::get_depend_component(QtAV::Internal::depend_component const*) in libQt5AV_iphonesimulator.a(QtAV_Global.o)\r\n  \"_avfilter_configuration\", referenced from:\r\n      QtAV::Internal::get_depend_component(QtAV::Internal::depend_component const*) in libQt5AV_iphonesimulator.a(QtAV_Global.o)\r\n  \"_avfilter_license\", referenced from:\r\n      QtAV::Internal::get_depend_component(QtAV::Internal::depend_component const*) in libQt5AV_iphonesimulator.a(QtAV_Global.o)\r\n  \"_avfilter_version\", referenced from:\r\n      QtAV::Internal::get_depend_component(QtAV::Internal::depend_component const*) in libQt5AV_iphonesimulator.a(QtAV_Global.o)\r\n  \"_avformat_alloc_context\", referenced from:\r\n      QtAV::AVDemuxer::load() in libQt5AV_iphonesimulator.a(AVDemuxer.o)\r\n  \"_avformat_close_input\", referenced from:\r\n      QtAV::AVDemuxer::unload() in libQt5AV_iphonesimulator.a(AVDemuxer.o)\r\n  \"_avformat_configuration\", referenced from:\r\n      QtAV::Internal::get_depend_component(QtAV::Internal::depend_component const*) in libQt5AV_iphonesimulator.a(QtAV_Global.o)\r\n  \"_avformat_find_stream_info\", referenced from:\r\n      QtAV::AVDemuxer::load() in libQt5AV_iphonesimulator.a(AVDemuxer.o)\r\n  \"_avformat_license\", referenced from:\r\n      QtAV::Internal::get_depend_component(QtAV::Internal::depend_component const*) in libQt5AV_iphonesimulator.a(QtAV_Global.o)\r\n  \"_avformat_network_deinit\", referenced from:\r\n      QtAV::AVDemuxer::AVDemuxer(QObject*)::AVInitializer::~AVInitializer() in libQt5AV_iphonesimulator.a(AVDemuxer.o)\r\n  \"_avformat_network_init\", referenced from:\r\n      QtAV::AVDemuxer::AVDemuxer(QObject*) in libQt5AV_iphonesimulator.a(AVDemuxer.o)\r\n  \"_avformat_open_input\", referenced from:\r\n      QtAV::AVDemuxer::load() in libQt5AV_iphonesimulator.a(AVDemuxer.o)\r\n  \"_avformat_version\", referenced from:\r\n      QtAV::Internal::get_depend_component(QtAV::Internal::depend_component const*) in libQt5AV_iphonesimulator.a(QtAV_Global.o)\r\n  \"_avio_alloc_context\", referenced from:\r\n      QtAV::MediaIO::avioContext() in libQt5AV_iphonesimulator.a(MediaIO.o)\r\n  \"_avio_close\", referenced from:\r\n      QtAV::MediaIO::~MediaIO() in libQt5AV_iphonesimulator.a(MediaIO.o)\r\n      QtAV::MediaIO::release() in libQt5AV_iphonesimulator.a(MediaIO.o)\r\n  \"_avio_enum_protocols\", referenced from:\r\n      QtAV::AVDemuxer::supportedProtocols() in libQt5AV_iphonesimulator.a(AVDemuxer.o)\r\n  \"_avio_feof\", referenced from:\r\n      QtAV::AVDemuxer::readFrame() in libQt5AV_iphonesimulator.a(AVDemuxer.o)\r\n  \"_avpicture_fill\", referenced from:\r\n      QtAV::VideoFrame::allocate() in libQt5AV_iphonesimulator.a(VideoFrame.o)\r\n      QtAV::VideoFrame::init() in libQt5AV_iphonesimulator.a(VideoFrame.o)\r\n      QtAV::ImageConverter::prepareData() in libQt5AV_iphonesimulator.a(ImageConverter.o)\r\n  \"_avpicture_get_size\", referenced from:\r\n      QtAV::VideoFrame::allocate() in libQt5AV_iphonesimulator.a(VideoFrame.o)\r\n      QtAV::ImageConverter::prepareData() in libQt5AV_iphonesimulator.a(ImageConverter.o)\r\n  \"_avresample_alloc_context\", referenced from:\r\n      swr_alloc_set_opts(AVAudioResampleContext*, long long, AVSampleFormat, int, long long, AVSampleFormat, int, int, void*) in libQt5AV_iphonesimulator.a(AVCompat.o)\r\n  \"_avresample_configuration\", referenced from:\r\n      QtAV::Internal::get_depend_component(QtAV::Internal::depend_component const*) in libQt5AV_iphonesimulator.a(QtAV_Global.o)\r\n  \"_avresample_license\", referenced from:\r\n      QtAV::Internal::get_depend_component(QtAV::Internal::depend_component const*) in libQt5AV_iphonesimulator.a(QtAV_Global.o)\r\n  \"_avresample_version\", referenced from:\r\n      QtAV::Internal::get_depend_component(QtAV::Internal::depend_component const*) in libQt5AV_iphonesimulator.a(QtAV_Global.o)\r\n  \"_avutil_configuration\", referenced from:\r\n      QtAV::Internal::get_depend_component(QtAV::Internal::depend_component const*) in libQt5AV_iphonesimulator.a(QtAV_Global.o)\r\n  \"_avutil_license\", referenced from:\r\n      QtAV::Internal::get_depend_component(QtAV::Internal::depend_component const*) in libQt5AV_iphonesimulator.a(QtAV_Global.o)\r\n  \"_avutil_version\", referenced from:\r\n      QtAV::Internal::get_depend_component(QtAV::Internal::depend_component const*) in libQt5AV_iphonesimulator.a(QtAV_Global.o)\r\n  \"_swresample_configuration\", referenced from:\r\n      QtAV::Internal::get_depend_component(QtAV::Internal::depend_component const*) in libQt5AV_iphonesimulator.a(QtAV_Global.o)\r\n  \"_swresample_license\", referenced from:\r\n      QtAV::Internal::get_depend_component(QtAV::Internal::depend_component const*) in libQt5AV_iphonesimulator.a(QtAV_Global.o)\r\n  \"_swresample_version\", referenced from:\r\n      QtAV::Internal::get_depend_component(QtAV::Internal::depend_component const*) in libQt5AV_iphonesimulator.a(QtAV_Global.o)\r\n  \"_sws_freeContext\", referenced from:\r\n      QtAV::ImageConverterFFPrivate::~ImageConverterFFPrivate() in libQt5AV_iphonesimulator.a(ImageConverterFF.o)\r\n  \"_sws_getCachedContext\", referenced from:\r\n      QtAV::ImageConverterFF::convert(unsigned char const* const*, int const*) in libQt5AV_iphonesimulator.a(ImageConverterFF.o)\r\n  \"_sws_getCoefficients\", referenced from:\r\n      QtAV::ImageConverterFFPrivate::setupColorspaceDetails(bool) in libQt5AV_iphonesimulator.a(ImageConverterFF.o)\r\n  \"_sws_isSupportedInput\", referenced from:\r\n      QtAV::ImageConverterFF::check() const in libQt5AV_iphonesimulator.a(ImageConverterFF.o)\r\n  \"_sws_isSupportedOutput\", referenced from:\r\n      QtAV::ImageConverterFF::check() const in libQt5AV_iphonesimulator.a(ImageConverterFF.o)\r\n  \"_sws_scale\", referenced from:\r\n      QtAV::ImageConverterFF::convert(unsigned char const* const*, int const*) in libQt5AV_iphonesimulator.a(ImageConverterFF.o)\r\n  \"_sws_setColorspaceDetails\", referenced from:\r\n      QtAV::ImageConverterFFPrivate::setupColorspaceDetails(bool) in libQt5AV_iphonesimulator.a(ImageConverterFF.o)\r\n  \"_swscale_configuration\", referenced from:\r\n      QtAV::Internal::get_depend_component(QtAV::Internal::depend_component const*) in libQt5AV_iphonesimulator.a(QtAV_Global.o)\r\n  \"_swscale_license\", referenced from:\r\n      QtAV::Internal::get_depend_component(QtAV::Internal::depend_component const*) in libQt5AV_iphonesimulator.a(QtAV_Global.o)\r\n  \"_swscale_version\", referenced from:\r\n      QtAV::Internal::get_depend_component(QtAV::Internal::depend_component const*) in libQt5AV_iphonesimulator.a(QtAV_Global.o)\r\nld: symbol(s) not found for architecture i386\r\nclang: error: linker command failed with exit code 1 (use -v to see invocation)\r\n\r\nAs i mentioned, i struggle with this since weeks and i tried a lot of configurations, but i can't figure out, what exactly the problem is. What am i missing? I checked file libQt5AV_iphonesimulator.a and it has 2 slices, for i386 and for x86_64. \r\n\r\nMaybe this information is also useful?!\r\nChecking for avutil... yes\r\nChecking for avcodec... yes\r\nChecking for avformat... yes\r\nChecking for swscale... yes\r\nProject MESSAGE: checking for optional features...\r\nChecking for swresample... yes\r\nChecking for avresample... yes\r\nChecking for avdevice... yes\r\nChecking for avfilter... yes\r\nChecking for sse4_1... no\r\nChecking for openal... no\r\nChecking for portaudio... no\r\nChecking for libass... no\r\nChecking for pulseaudio... no\r\nChecking for xv... no\r\nChecking for vaapi... no\r\nChecking for libcedarv... no\r\nChecking for videotoolbox... no\r\n\r\nI can not compile simpleplayer for MAC Yosemite with QT5.5 and my ffmpeg2.8. Do you know what is missing in my settings? Btw: simpleplayer also works perfect on Android x86 Simulator\r\nThank you so much,\r\nPeter Lakatos"},"comment":{"url":"https://api.github.com/repos/wang-bin/QtAV/issues/comments/144271605","html_url":"https://github.com/wang-bin/QtAV/issues/515#issuecomment-144271605","issue_url":"https://api.github.com/repos/wang-bin/QtAV/issues/515","id":144271605,"user":{"login":"PLakatos","id":14370772,"avatar_url":"https://avatars.githubusercontent.com/u/14370772?v=3","gravatar_id":"","url":"https://api.github.com/users/PLakatos","html_url":"https://github.com/PLakatos","followers_url":"https://api.github.com/users/PLakatos/followers","following_url":"https://api.github.com/users/PLakatos/following{/other_user}","gists_url":"https://api.github.com/users/PLakatos/gists{/gist_id}","starred_url":"https://api.github.com/users/PLakatos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PLakatos/subscriptions","organizations_url":"https://api.github.com/users/PLakatos/orgs","repos_url":"https://api.github.com/users/PLakatos/repos","events_url":"https://api.github.com/users/PLakatos/events{/privacy}","received_events_url":"https://api.github.com/users/PLakatos/received_events","type":"User","site_admin":false},"created_at":"2015-09-30T03:24:50Z","updated_at":"2015-09-30T03:24:50Z","body":"Hi, the only effort i made, i finally have a lib_ios_ folder\r\nBut still ios is not working :(\r\n1)I created ffmpeg with https://github.com/kewlbear/FFmpeg-iOS-build-script \r\n2)lib_ios_ folder is generated, but build failed with\r\n** BUILD FAILED **\r\n\r\nThe following build commands failed:\r\n\tLd /Users/beatricekrell/Documents/GTRU/projects/build-QtAV-iphonesimulator_clang_Qt_5_5_0_for_iOS-Release/.obj/audiopipeline_ios_unknown_llvm/audiopipeline.build/Release-iphonesimulator/audiopipeline.build/Objects-normal/i386/audiopipeline normal i386\r\n(1 failure)\r\nmake[3]: *** [iphonesimulator-release] Error 65\r\nmake[2]: *** [release-iphonesimulator] Error 2\r\nmake[1]: *** [sub-audiopipeline-make_first] Error 2\r\nmake: *** [sub-examples-make_first] Error 2\r\n03:37:43: The process \"/usr/bin/make\" exited with code 2.\r\nError while building/deploying project QtAV (kit: iphonesimulator-clang Qt 5.5.0 for iOS)\r\nWhen executing step \"Make\"\r\n\r\n3)I changed\r\n!no-examples {\r\n  SUBDIRS += examples\r\n  examples.depends += libqtav\r\n}\r\n!cross_compile:!no-tests {\r\n  SUBDIRS += tests\r\n  tests.depends += libqtav libqtavwidgets\r\n}\r\nto\r\n#!no-examples {\r\n#SUBDIRS += examples\r\n#examples.depends += libqtav\r\n#}\r\n#!cross_compile:!no-tests {\r\n#SUBDIRS += tests\r\n#tests.depends += libqtav libqtavwidgets\r\n#}\r\n\r\nQ: Is this correct?\r\nBecause after i copied and renamed all files, after i try to build my simpleplayer project, i got:\r\nUndefined symbols for architecture i386:\r\n  \"_AVMediaTypeAudio\", referenced from:\r\n      _avf_read_header in libavdevice.a(avfoundation.o)\r\n  \"_AVMediaTypeVideo\", referenced from:\r\n      _avf_read_header in libavdevice.a(avfoundation.o)\r\n  \"_BZ2_bzDecompress\", referenced from:\r\n      _matroska_decode_buffer in libavformat.a(matroskadec.o)\r\n  \"_BZ2_bzDecompressEnd\", referenced from:\r\n      _matroska_decode_buffer in libavformat.a(matroskadec.o)\r\n  \"_BZ2_bzDecompressInit\", referenced from:\r\n      _matroska_decode_buffer in libavformat.a(matroskadec.o)\r\n  \"_CMAudioFormatDescriptionGetStreamBasicDescription\", referenced from:\r\n      _avf_read_header in libavdevice.a(avfoundation.o)\r\n  \"_CMBlockBufferCopyDataBytes\", referenced from:\r\n      _avf_read_packet in libavdevice.a(avfoundation.o)\r\n  \"_CMBlockBufferGetDataLength\", referenced from:\r\n      _avf_read_header in libavdevice.a(avfoundation.o)\r\n      _avf_read_packet in libavdevice.a(avfoundation.o)\r\n  \"_CMSampleBufferGetDataBuffer\", referenced from:\r\n      _avf_read_header in libavdevice.a(avfoundation.o)\r\n      _avf_read_packet in libavdevice.a(avfoundation.o)\r\n  \"_CMSampleBufferGetFormatDescription\", referenced from:\r\n      _avf_read_header in libavdevice.a(avfoundation.o)\r\n  \"_CMSampleBufferGetImageBuffer\", referenced from:\r\n      _avf_read_header in libavdevice.a(avfoundation.o)\r\n      _avf_read_packet in libavdevice.a(avfoundation.o)\r\n  \"_CMSampleBufferGetOutputSampleTimingInfoArray\", referenced from:\r\n      _avf_read_packet in libavdevice.a(avfoundation.o)\r\n  \"_CMVideoFormatDescriptionGetDimensions\", referenced from:\r\n      _avf_read_header in libavdevice.a(avfoundation.o)\r\n  \"_CVImageBufferGetEncodedSize\", referenced from:\r\n      _avf_read_header in libavdevice.a(avfoundation.o)\r\n  \"_CVPixelBufferGetBaseAddress\", referenced from:\r\n      _avf_read_packet in libavdevice.a(avfoundation.o)\r\n  \"_CVPixelBufferGetDataSize\", referenced from:\r\n      _avf_read_packet in libavdevice.a(avfoundation.o)\r\n  \"_CVPixelBufferLockBaseAddress\", referenced from:\r\n      _avf_read_packet in libavdevice.a(avfoundation.o)\r\n  \"_CVPixelBufferUnlockBaseAddress\", referenced from:\r\n      _avf_read_packet in libavdevice.a(avfoundation.o)\r\n  \"_OBJC_CLASS_$_AVCaptureAudioDataOutput\", referenced from:\r\n      objc-class-ref in libavdevice.a(avfoundation.o)\r\n  \"_OBJC_CLASS_$_AVCaptureDevice\", referenced from:\r\n      objc-class-ref in libavdevice.a(avfoundation.o)\r\n  \"_OBJC_CLASS_$_AVCaptureDeviceInput\", referenced from:\r\n      objc-class-ref in libavdevice.a(avfoundation.o)\r\n  \"_OBJC_CLASS_$_AVCaptureSession\", referenced from:\r\n      objc-class-ref in libavdevice.a(avfoundation.o)\r\n  \"_OBJC_CLASS_$_AVCaptureVideoDataOutput\", referenced from:\r\n      objc-class-ref in libavdevice.a(avfoundation.o)\r\n  \"_iconv\", referenced from:\r\n      _avcodec_decode_subtitle2 in libavcodec.a(utils.o)\r\n  \"_iconv_close\", referenced from:\r\n      _avcodec_open2 in libavcodec.a(utils.o)\r\n      _avcodec_decode_subtitle2 in libavcodec.a(utils.o)\r\n  \"_iconv_open\", referenced from:\r\n      _avcodec_open2 in libavcodec.a(utils.o)\r\n      _avcodec_decode_subtitle2 in libavcodec.a(utils.o)\r\n  \"_kCVPixelBufferPixelFormatTypeKey\", referenced from:\r\n      _avf_read_header in libavdevice.a(avfoundation.o)\r\nld: symbol(s) not found for architecture i386\r\nclang: error: linker command failed with exit code 1 (use -v to see invocation)\r\n"}}