Wilberth R. Garcia Alfaro
November 10th, 2008, 12:57 AM
First all sorry if this is not the rigth place to ask for, but my problem is this:
I have an application that works with QT 4.4.3 Phonon ffpmeg and opencv frameworks. My application was working fine until I update to Intrepid and since Intrepid uses a new version of ffmpeg (hardy has a version from 2007) i cant compile my new version of this application. I tried compiling a svn version of ffmpeg but it did not for me. I am sure that this version of ffmpeg is the problem because my applicación can compile in other machines with hardy heron and the old ffmpeg version.
Here is the message I got for when I try to compile:
/usr/bin/qmake -unix -o Makefile Proyecto.pro
g++ -Wl,--no-undefined -o bin/Proyecto compilar/mainwindowimpl.o compilar/main.o compilar/Cords.o compilar/moc_mainwindowimpl.o compilar/qrc_proyecto.o -L/usr/lib /usr/lib/libavcodec.so /usr/lib/libcv.so /usr/lib/libcxcore.so /usr/lib/libhighgui.so -lphonon -lQtGui -lQtNetwork -lQtCore -lpthread
compilar/mainwindowimpl.o: In function `MainWindowImpl::btnVideoEvent()':
/home/richgar1982/Proyecto/src/mainwindowimpl.cpp:186: undefined reference to `avcodec_init()'
/home/richgar1982/Proyecto/src/mainwindowimpl.cpp:188: undefined reference to `avcodec_register_all()'
compilar/mainwindowimpl.o: In function `Video::CodecMpgVideo(CodecID)':
/home/richgar1982/Proyecto/src/Vid.h:51: undefined reference to `avcodec_find_encoder(CodecID)'
compilar/mainwindowimpl.o: In function `Video::CreateAVFrame(unsigned int)':
/home/richgar1982/Proyecto/src/Vid.h:64: undefined reference to `avcodec_alloc_frame()'
compilar/mainwindowimpl.o: In function `~Video':
/home/richgar1982/Proyecto/src/Vid.h:29: undefined reference to `avcodec_close(AVCodecContext*)'
compilar/mainwindowimpl.o: In function `void Video::InsertVideoFrames<_IplImage*, std::deque>(std::basic_ofstream<char, std::char_traits<char> >&, std::deque<_IplImage*, std::allocator<_IplImage*> >&)':
/home/richgar1982/Proyecto/src/Vid.h:177: undefined reference to `avcodec_encode_video(AVCodecContext*, unsigned char*, int, AVFrame const*)'
compilar/mainwindowimpl.o: In function `void Video::MakeVideo<_IplImage*, std::deque>(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::deque<_IplImage*, std::allocator<_IplImage*> >)':
/home/richgar1982/Proyecto/src/Vid.h:115: undefined reference to `avcodec_alloc_context()'
/home/richgar1982/Proyecto/src/Vid.h:124: undefined reference to `avcodec_open(AVCodecContext*, AVCodec*)'
/home/richgar1982/Proyecto/src/Vid.h:146: undefined reference to `avcodec_encode_video(AVCodecContext*, unsigned char*, int, AVFrame const*)'
collect2: ld devolvió el estado de salida 1
make: *** [bin/Proyecto] Error 1
Please help me i cant find where the problem is ...!!! It seems that the libavcodec.so is not on my /usr/lib directory but it is there, maybe gcc cant find the implementation of those functions buts they should be there in the libavcodec.so file.
Thakns
I have an application that works with QT 4.4.3 Phonon ffpmeg and opencv frameworks. My application was working fine until I update to Intrepid and since Intrepid uses a new version of ffmpeg (hardy has a version from 2007) i cant compile my new version of this application. I tried compiling a svn version of ffmpeg but it did not for me. I am sure that this version of ffmpeg is the problem because my applicación can compile in other machines with hardy heron and the old ffmpeg version.
Here is the message I got for when I try to compile:
/usr/bin/qmake -unix -o Makefile Proyecto.pro
g++ -Wl,--no-undefined -o bin/Proyecto compilar/mainwindowimpl.o compilar/main.o compilar/Cords.o compilar/moc_mainwindowimpl.o compilar/qrc_proyecto.o -L/usr/lib /usr/lib/libavcodec.so /usr/lib/libcv.so /usr/lib/libcxcore.so /usr/lib/libhighgui.so -lphonon -lQtGui -lQtNetwork -lQtCore -lpthread
compilar/mainwindowimpl.o: In function `MainWindowImpl::btnVideoEvent()':
/home/richgar1982/Proyecto/src/mainwindowimpl.cpp:186: undefined reference to `avcodec_init()'
/home/richgar1982/Proyecto/src/mainwindowimpl.cpp:188: undefined reference to `avcodec_register_all()'
compilar/mainwindowimpl.o: In function `Video::CodecMpgVideo(CodecID)':
/home/richgar1982/Proyecto/src/Vid.h:51: undefined reference to `avcodec_find_encoder(CodecID)'
compilar/mainwindowimpl.o: In function `Video::CreateAVFrame(unsigned int)':
/home/richgar1982/Proyecto/src/Vid.h:64: undefined reference to `avcodec_alloc_frame()'
compilar/mainwindowimpl.o: In function `~Video':
/home/richgar1982/Proyecto/src/Vid.h:29: undefined reference to `avcodec_close(AVCodecContext*)'
compilar/mainwindowimpl.o: In function `void Video::InsertVideoFrames<_IplImage*, std::deque>(std::basic_ofstream<char, std::char_traits<char> >&, std::deque<_IplImage*, std::allocator<_IplImage*> >&)':
/home/richgar1982/Proyecto/src/Vid.h:177: undefined reference to `avcodec_encode_video(AVCodecContext*, unsigned char*, int, AVFrame const*)'
compilar/mainwindowimpl.o: In function `void Video::MakeVideo<_IplImage*, std::deque>(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::deque<_IplImage*, std::allocator<_IplImage*> >)':
/home/richgar1982/Proyecto/src/Vid.h:115: undefined reference to `avcodec_alloc_context()'
/home/richgar1982/Proyecto/src/Vid.h:124: undefined reference to `avcodec_open(AVCodecContext*, AVCodec*)'
/home/richgar1982/Proyecto/src/Vid.h:146: undefined reference to `avcodec_encode_video(AVCodecContext*, unsigned char*, int, AVFrame const*)'
collect2: ld devolvió el estado de salida 1
make: *** [bin/Proyecto] Error 1
Please help me i cant find where the problem is ...!!! It seems that the libavcodec.so is not on my /usr/lib directory but it is there, maybe gcc cant find the implementation of those functions buts they should be there in the libavcodec.so file.
Thakns