On ubuntu i've installed ffmpeg as per http://ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide I'm trying to compile http://www.ffmpeg.org/doxygen/2.0/doc_2examples_2decoding_encoding_8c-example.html ; changed int main<http://www.ffmpeg.org/doxygen/2.0/main_8c.html#a3c04138a5bfe5d72780bb7e82a18e627> (int argc, char **argv) to int libavcodec_example(int argc, char **argv); included it in my application; called libavcodec_example(int argc, char **argv)
g++ -D__STDC_CONSTANT_MACROS -o dist/Debug/GNU-Linux-x86/remotedevicecontroller build/Debug/GNU-Linux-x86/libavcodec-example.o build/Debug/GNU-Linux-x86/main.o build/Debug/GNU-Linux-x86/test-echo.o /usr/local/ffmpeg_build/lib/libavdevice.a /usr/local/ffmpeg_build/lib/libavfilter.a /usr/local/ffmpeg_build/lib/libavcodec.a /usr/local/ffmpeg_build/lib/libavutil.a /usr/local/ffmpeg_build/lib/libswscale.a /usr/local/ffmpeg_build/lib/libavformat.a -lxml2 -lpthread -lssl -lcrypto -lwebsockets It gave the following error: build/Debug/GNU-Linux-x86/libavcodec-example.o: In function `select_channel_layout': /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:77: undefined reference to `av_get_channel_layout_nb_channels(unsigned long long)' build/Debug/GNU-Linux-x86/libavcodec-example.o: In function `audio_encode_example': /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:102: undefined reference to `avcodec_find_encoder(AVCodecID)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:107: undefined reference to `avcodec_alloc_context3(AVCodec const*)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:118: undefined reference to `av_get_sample_fmt_name(AVSampleFormat)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:124: undefined reference to `av_get_channel_layout_nb_channels(unsigned long long)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:126: undefined reference to `avcodec_open2(AVCodecContext*, AVCodec const*, AVDictionary**)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:136: undefined reference to `avcodec_alloc_frame()' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:147: undefined reference to `av_samples_get_buffer_size(int*, int, int, AVSampleFormat, int)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:148: undefined reference to `av_malloc(unsigned int)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:156: undefined reference to `avcodec_fill_audio_frame(AVFrame*, int, AVSampleFormat, unsigned char const*, int, int)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:165: undefined reference to `av_init_packet(AVPacket*)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:175: undefined reference to `avcodec_encode_audio2(AVCodecContext*, AVPacket*, AVFrame const*, int*)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:182: undefined reference to `av_free_packet(AVPacket*)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:187: undefined reference to `avcodec_encode_audio2(AVCodecContext*, AVPacket*, AVFrame const*, int*)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:194: undefined reference to `av_free_packet(AVPacket*)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:198: undefined reference to `av_freep(void*)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:199: undefined reference to `avcodec_free_frame(AVFrame**)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:200: undefined reference to `avcodec_close(AVCodecContext*)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:201: undefined reference to `av_free(void*)' build/Debug/GNU-Linux-x86/libavcodec-example.o: In function `audio_decode_example': /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:215: undefined reference to `av_init_packet(AVPacket*)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:218: undefined reference to `avcodec_find_decoder(AVCodecID)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:223: undefined reference to `avcodec_alloc_context3(AVCodec const*)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:229: undefined reference to `avcodec_open2(AVCodecContext*, AVCodec const*, AVDictionary**)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:240: undefined reference to `av_free(void*)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:249: undefined reference to `avcodec_alloc_frame()' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:254: undefined reference to `avcodec_get_frame_defaults(AVFrame*)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:255: undefined reference to `avcodec_decode_audio4(AVCodecContext*, AVFrame*, int*, AVPacket const*)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:264: undefined reference to `av_samples_get_buffer_size(int*, int, int, AVSampleFormat, int)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:286: undefined reference to `avcodec_close(AVCodecContext*)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:287: undefined reference to `av_free(void*)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:288: undefined reference to `avcodec_free_frame(AVFrame**)' build/Debug/GNU-Linux-x86/libavcodec-example.o: In function `video_encode_example': /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:304: undefined reference to `avcodec_find_encoder(AVCodecID)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:309: undefined reference to `avcodec_alloc_context3(AVCodec const*)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:325: undefined reference to `av_opt_set(void*, char const*, char const*, int)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:327: undefined reference to `avcodec_open2(AVCodecContext*, AVCodec const*, AVDictionary**)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:336: undefined reference to `avcodec_alloc_frame()' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:347: undefined reference to `av_image_alloc(unsigned char**, int*, int, int, AVPixelFormat, int)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:354: undefined reference to `av_init_packet(AVPacket*)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:374: undefined reference to `avcodec_encode_video2(AVCodecContext*, AVPacket*, AVFrame const*, int*)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:382: undefined reference to `av_free_packet(AVPacket*)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:388: undefined reference to `avcodec_encode_video2(AVCodecContext*, AVPacket*, AVFrame const*, int*)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:396: undefined reference to `av_free_packet(AVPacket*)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:402: undefined reference to `avcodec_close(AVCodecContext*)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:403: undefined reference to `av_free(void*)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:404: undefined reference to `av_freep(void*)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:405: undefined reference to `avcodec_free_frame(AVFrame**)' build/Debug/GNU-Linux-x86/libavcodec-example.o: In function `decode_write_frame': /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:427: undefined reference to `avcodec_decode_video2(AVCodecContext*, AVFrame*, int*, AVPacket const*)' build/Debug/GNU-Linux-x86/libavcodec-example.o: In function `video_decode_example': /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:456: undefined reference to `av_init_packet(AVPacket*)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:461: undefined reference to `avcodec_find_decoder(AVCodecID)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:466: undefined reference to `avcodec_alloc_context3(AVCodec const*)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:477: undefined reference to `avcodec_open2(AVCodecContext*, AVCodec const*, AVDictionary**)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:486: undefined reference to `avcodec_alloc_frame()' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:520: undefined reference to `avcodec_close(AVCodecContext*)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:521: undefined reference to `av_free(void*)' /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:522: undefined reference to `avcodec_free_frame(AVFrame**)' build/Debug/GNU-Linux-x86/libavcodec-example.o: In function `libavcodec_example(int, char**)': /home/gowtham/NetBeansProjects/remotedevicecontroller/libavcodec-example.cpp:529: undefined reference to `avcodec_register_all()' collect2: error: ld returned 1 exit status how should I succeed? -- *Gowtham*
_______________________________________________ Libav-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/libav-user
