Hello all, I am trying to cross compile OpenCV with FFMPEG for ARM Linux, but I get some errors, and I think it's because I don't cross compile correctly FFMPEG, or I'm missing something.
First, I have cross compiled FFMPEG using these flags: *./configure --enable-cross-compile --cross-prefix=arm-linux-gnueabi- --cc=arm-linux-gnueabi-gcc --cxx=arm-linux-gnueabi-g++ --arch=arm --target-os=linux --disable-armv5te --disable-armv6 --disable-armv6t2 --enable-libopencv --enable-pic prefix=/home/mypath/ffmpeg_binARM * Then, I have tried to cross compile OpenCV using this help: http://docs.opencv.org/doc/tutorials/introduction/crosscompilation/arm_crosscompile_with_cmake.html * * *cd ~/opencv/platforms/linux* *mkdir -p Build_ARM* *cd Build_ARM* * * *cmake -DSOFTFP=ON -DCMAKE_TOOLCHAIN_FILE=../arm-gnueabi.toolchain.cmake ../../..* ...and I get the following errors when I do "make". Can anyone help me???? Thank you!! * * *...* *[ 34%] Building CXX object modules/highgui/CMakeFiles/opencv_highgui.dir/src/bitstrm.cpp.o* *Linking CXX shared library ../../lib/libopencv_highgui.so* */home/mypath/ffmpeg_binARM/lib/libavformat.a(matroskaenc.o): In function `get_aac_sample_rates':* */home/mypath/ffmpeg/libavformat/matroskaenc.c:460: undefined reference to `avpriv_mpeg4audio_get_config'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(matroskaenc.o): In function `put_xiph_codecpriv':* */home/mypath/ffmpeg/libavformat/matroskaenc.c:440: undefined reference to `avpriv_split_xiph_headers'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(utils.o): In function `has_decode_delay_been_guessed':* */home/mypath/ffmpeg/libavformat/utils.c:916: undefined reference to `avpriv_h264_has_num_reorder_frames'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(utils.o): In function `ff_read_frame_flush':* */home/mypath/ffmpeg/libavformat/utils.c:1624: undefined reference to `av_parser_close'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(utils.o): In function `has_decode_delay_been_guessed':* */home/mypath/ffmpeg/libavformat/utils.c:916: undefined reference to `avpriv_h264_has_num_reorder_frames'* */home/mypath/ffmpeg/libavformat/utils.c:916: undefined reference to `avpriv_h264_has_num_reorder_frames'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(utils.o): In function `parse_packet':* */home/mypath/ffmpeg/libavformat/utils.c:1285: undefined reference to `av_parser_parse2'* */home/mypath/ffmpeg/libavformat/utils.c:1352: undefined reference to `av_parser_close'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(utils.o): In function `read_frame_internal':* */home/mypath/ffmpeg/libavformat/utils.c:1423: undefined reference to `av_parser_init'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(utils.o): In function `avformat_find_stream_info':* */home/mypath/ffmpeg/libavformat/utils.c:2715: undefined reference to `av_parser_init'* */home/mypath/ffmpeg/libavformat/utils.c:2999: undefined reference to `avcodec_pix_fmt_to_codec_tag'* */home/mypath/ffmpeg/libavformat/utils.c:3000: undefined reference to `avpriv_find_pix_fmt'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(utils.o): In function `tb_unreliable':* */home/mypath/ffmpeg/libavformat/utils.c:2674: undefined reference to `ff_raw_pix_fmt_tags'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(utils.o): In function `estimate_timings_from_pts':* */home/mypath/ffmpeg/libavformat/utils.c:2311: undefined reference to `av_parser_close'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(utils.o): In function `ff_free_stream':* */home/mypath/ffmpeg/libavformat/utils.c:3214: undefined reference to `av_parser_close'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(allformats.o): In function `av_register_all':* */home/mypath/ffmpeg/libavformat/allformats.c:60: undefined reference to `avcodec_register_all'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(dv.o): In function `dv_read_header':* */home/mypath/ffmpeg/libavformat/dv.c:511: undefined reference to `avpriv_dv_frame_profile'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(dv.o): In function `avpriv_dv_produce_packet':* */home/mypath/ffmpeg/libavformat/dv.c:364: undefined reference to `avpriv_dv_frame_profile'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(dv.o): In function `dv_frame_offset':* */home/mypath/ffmpeg/libavformat/dv.c:413: undefined reference to `avpriv_dv_codec_profile'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(dvenc.o): In function `dv_init_mux':* */home/mypath/ffmpeg/libavformat/dvenc.c:317: undefined reference to `avpriv_dv_codec_profile'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(flacdec.o): In function `flac_read_header':* */home/mypath/ffmpeg/libavformat/flacdec.c:178: undefined reference to `avpriv_flac_parse_block_header'* */home/mypath/ffmpeg/libavformat/flacdec.c:216: undefined reference to `avpriv_flac_parse_streaminfo'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(flacenc.o): In function `flac_write_trailer':* */home/mypath/ffmpeg/libavformat/flacenc.c:106: undefined reference to `avpriv_flac_is_extradata_valid'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(flacenc_header.o): In function `ff_flac_write_header':* */home/mypath/ffmpeg/libavformat/flacenc_header.c:37: undefined reference to `avpriv_flac_is_extradata_valid'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(frmdec.o): In function `frm_read_header':* */home/mypath/ffmpeg/libavformat/frmdec.c:64: undefined reference to `avpriv_find_pix_fmt'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(isom.o): In function `ff_mp4_read_dec_config_descr':* */home/mypath/ffmpeg/libavformat/isom.c:460: undefined reference to `avpriv_mpeg4audio_get_config'* */home/mypath/ffmpeg/libavformat/isom.c:442: undefined reference to `avpriv_mpa_freq_tab'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(latmenc.o): In function `latm_decode_extradata':* */home/mypath/ffmpeg/libavformat/latmenc.c:63: undefined reference to `avpriv_mpeg4audio_get_config'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(latmenc.o): In function `latm_write_packet':* */home/mypath/ffmpeg/libavformat/latmenc.c:196: undefined reference to `avpriv_copy_bits'* */home/mypath/ffmpeg/libavformat/latmenc.c:198: undefined reference to `avpriv_align_put_bits'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(latmenc.o): In function `latm_write_frame_header':* */home/mypath/ffmpeg/libavformat/latmenc.c:123: undefined reference to `avpriv_copy_bits'* */home/mypath/ffmpeg/libavformat/latmenc.c:129: undefined reference to `avpriv_copy_pce_data'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(latmenc.o): In function `latm_write_packet':* */home/mypath/ffmpeg/libavformat/latmenc.c:194: undefined reference to `avpriv_copy_bits'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(latmenc.o): In function `latm_write_frame_header':* */home/mypath/ffmpeg/libavformat/latmenc.c:119: undefined reference to `avpriv_copy_bits'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(matroskadec.o): In function `matroska_read_header':* */home/mypath/ffmpeg/libavformat/matroskadec.c:1818: undefined reference to `avpriv_mpeg4audio_sample_rates'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(mov.o): In function `mov_read_dac3':* */home/mypath/ffmpeg/libavformat/mov.c:652: undefined reference to `avpriv_ac3_channel_layout_tab'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(mov.o): In function `mov_read_dec3':* */home/mypath/ffmpeg/libavformat/mov.c:679: undefined reference to `avpriv_ac3_channel_layout_tab'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(mp3dec.o): In function `check':* */home/mypath/ffmpeg/libavformat/mp3dec.c:268: undefined reference to `avpriv_mpegaudio_decode_header'* */home/mypath/ffmpeg/libavformat/mp3dec.c:268: undefined reference to `avpriv_mpegaudio_decode_header'* */home/mypath/ffmpeg/libavformat/mp3dec.c:268: undefined reference to `avpriv_mpegaudio_decode_header'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(mp3dec.o): In function `mp3_parse_vbr_tags':* */home/mypath/ffmpeg/libavformat/mp3dec.c:129: undefined reference to `avpriv_mpegaudio_decode_header'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(mp3dec.o): In function `mp3_read_probe':* */home/mypath/ffmpeg/libavformat/mp3dec.c:68: undefined reference to `avpriv_mpa_decode_header'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(mp3enc.o): In function `mp3_write_audio_packet':* */home/mypath/ffmpeg/libavformat/mp3enc.c:272: undefined reference to `avpriv_mpegaudio_decode_header'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(mp3enc.o): In function `mp3_write_xing':* */home/mypath/ffmpeg/libavformat/mp3enc.c:167: undefined reference to `avpriv_mpegaudio_decode_header'* */home/mypath/ffmpeg/libavformat/mp3enc.c:167: undefined reference to `avpriv_mpegaudio_decode_header'* */home/mypath/ffmpeg/libavformat/mp3enc.c:167: undefined reference to `avpriv_mpegaudio_decode_header'* */home/mypath/ffmpeg/libavformat/mp3enc.c:167: undefined reference to `avpriv_mpegaudio_decode_header'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(mp3enc.o):/home/mypath/ffmpeg/libavformat/mp3enc.c:167: more undefined references to `avpriv_mpegaudio_decode_header' follow* */home/mypath/ffmpeg_binARM/lib/libavformat.a(mp3enc.o): In function `mp3_write_xing':* */home/mypath/ffmpeg/libavformat/mp3enc.c:174: undefined reference to `avpriv_mpa_freq_tab'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(mpegtsenc.o): In function `mpegts_write_packet_internal':* */home/mypath/ffmpeg/libavformat/mpegtsenc.c:1100: undefined reference to `avpriv_mpv_find_start_code'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(mxfenc.o): In function `mxf_parse_dnxhd_frame':* */home/mypath/ffmpeg/libavformat/mxfenc.c:1415: undefined reference to `avpriv_dnxhd_get_frame_size'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(nutenc.o): In function `find_expected_header':* */home/mypath/ffmpeg/libavformat/nutenc.c:64: undefined reference to `avpriv_mpa_freq_tab'* */home/mypath/ffmpeg/libavformat/nutenc.c:64: undefined reference to `avpriv_mpa_bitrate_tab'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(oggenc.o): In function `ogg_write_header':* */home/mypath/ffmpeg/libavformat/oggenc.c:484: undefined reference to `avpriv_split_xiph_headers'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(oggenc.o): In function `ogg_build_flac_headers':* */home/mypath/ffmpeg/libavformat/oggenc.c:314: undefined reference to `avpriv_flac_is_extradata_valid'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(oggparsedirac.o): In function `dirac_header':* */home/mypath/ffmpeg/libavformat/oggparsedirac.c:40: undefined reference to `avpriv_dirac_parse_sequence_header'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(oggparseflac.o): In function `flac_header':* */home/mypath/ffmpeg/libavformat/oggparseflac.c:59: undefined reference to `avpriv_flac_parse_streaminfo'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(oggparsevorbis.o): In function `vorbis_packet':* */home/mypath/ffmpeg/libavformat/oggparsevorbis.c:360: undefined reference to `avpriv_vorbis_parse_frame'* */home/mypath/ffmpeg/libavformat/oggparsevorbis.c:326: undefined reference to `avpriv_vorbis_parse_reset'* */home/mypath/ffmpeg/libavformat/oggparsevorbis.c:329: undefined reference to `avpriv_vorbis_parse_frame'* */home/mypath/ffmpeg/libavformat/oggparsevorbis.c:338: undefined reference to `avpriv_vorbis_parse_frame'* */home/mypath/ffmpeg/libavformat/oggparsevorbis.c:355: undefined reference to `avpriv_vorbis_parse_reset'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(oggparsevorbis.o): In function `vorbis_header':* */home/mypath/ffmpeg/libavformat/oggparsevorbis.c:300: undefined reference to `avpriv_vorbis_parse_extradata'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(rtpdec_jpeg.o): In function `jpeg_parse_packet':* */home/mypath/ffmpeg/libavformat/rtpdec_jpeg.c:302: undefined reference to `avpriv_mjpeg_bits_dc_luminance'* */home/mypath/ffmpeg/libavformat/rtpdec_jpeg.c:302: undefined reference to `avpriv_mjpeg_val_dc'* */home/mypath/ffmpeg/libavformat/rtpdec_jpeg.c:302: undefined reference to `avpriv_mjpeg_bits_dc_chrominance'* */home/mypath/ffmpeg/libavformat/rtpdec_jpeg.c:302: undefined reference to `avpriv_mjpeg_bits_ac_luminance'* */home/mypath/ffmpeg/libavformat/rtpdec_jpeg.c:302: undefined reference to `avpriv_mjpeg_val_ac_luminance'* */home/mypath/ffmpeg/libavformat/rtpdec_jpeg.c:302: undefined reference to `avpriv_mjpeg_bits_ac_chrominance'* */home/mypath/ffmpeg/libavformat/rtpdec_jpeg.c:302: undefined reference to `avpriv_mjpeg_val_ac_chrominance'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(rtpenc_mpv.o): In function `ff_rtp_send_mpegvideo':* */home/mypath/ffmpeg/libavformat/rtpenc_mpv.c:59: undefined reference to `avpriv_mpv_find_start_code'* */home/mypath/ffmpeg/libavformat/rtpenc_mpv.c:59: undefined reference to `avpriv_mpv_find_start_code'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(sdp.o): In function `xiph_extradata2config':* */home/mypath/ffmpeg/libavformat/sdp.c:283: undefined reference to `avpriv_split_xiph_headers'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(sdp.o): In function `extradata2psets':* */home/mypath/ffmpeg/libavformat/sdp.c:171: undefined reference to `av_bitstream_filter_init'* */home/mypath/ffmpeg/libavformat/sdp.c:187: undefined reference to `av_bitstream_filter_filter'* */home/mypath/ffmpeg/libavformat/sdp.c:188: undefined reference to `av_bitstream_filter_close'* */home/mypath/ffmpeg/libavformat/sdp.c:183: undefined reference to `av_bitstream_filter_close'* */home/mypath/ffmpeg/libavformat/sdp.c:174: undefined reference to `avpriv_mpeg4audio_sample_rates'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(spdifdec.o): In function `spdif_get_offset_and_codec':* */home/mypath/ffmpeg/libavformat/spdifdec.c:60: undefined reference to `avpriv_aac_parse_header'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(spdifenc.o): In function `spdif_header_dts4':* */home/mypath/ffmpeg/libavformat/spdifenc.c:174: undefined reference to `avpriv_dca_sample_rates'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(spdifenc.o): In function `spdif_header_aac':* */home/mypath/ffmpeg/libavformat/spdifenc.c:354: undefined reference to `avpriv_aac_parse_header'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(takdec.o): In function `tak_read_header':* */home/mypath/ffmpeg/libavformat/takdec.c:119: undefined reference to `avpriv_tak_parse_streaminfo'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(ac3dec.o): In function `ac3_eac3_probe':* */home/mypath/ffmpeg/libavformat/ac3dec.c:58: undefined reference to `avpriv_ac3_parse_header'* */home/mypath/ffmpeg/libavformat/ac3dec.c:58: undefined reference to `avpriv_ac3_parse_header'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(adtsenc.o): In function `adts_decode_extradata':* */home/mypath/ffmpeg/libavformat/adtsenc.c:50: undefined reference to `avpriv_mpeg4audio_get_config'* */home/mypath/ffmpeg/libavformat/adtsenc.c:82: undefined reference to `avpriv_copy_pce_data'* */home/mypath/ffmpeg_binARM/lib/libavformat.a(adxdec.o): In function `adx_read_header':* */home/mypath/ffmpeg/libavformat/adxdec.c:90: undefined reference to `avpriv_adx_decode_header'* *collect2: ld returned 1 exit status* *make[2]: *** [lib/libopencv_highgui.so.2.4.9] Error 1* *make[1]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/all] Error 2* *make: *** [all] Error 2* -- <http://www.vicomtech.org/> Dr.-Ing. Gorka Vélez Isasmendi Investigador Colaborador / Contributing ResearcherSistemas de transporte inteligentes e Ingeniería / Intelligent Transport Systems and Engineering Donostia - San Sebastián - Spain<http://www.vicomtech.es/castellano/html/contacto/index.html> <http://www.vicomtech.org/> Tel: +[34] 943 30 92 [email protected] Aviso Legal - Política de privacidad<http://www.vicomtech.es/castellano/html/informacion_legal/index.html> / Lege Oharra - Pribatutasun politika<http://www.vicomtech.es/euskera/html/informacion_legal/index.html> / Legal Notice - Privacy policy<http://www.vicomtech.es/ingles/html/informacion_legal/index.html>
_______________________________________________ Libav-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/libav-user
