First, I want to apologize for double-posting.  I haven't been  
subscribed to the libav-user mailing list, and I was until VERY  
recently ( few minutes ago) unaware of its existence, so I sent this  
one to the ffmpeg-user list, even though that felt kind of wrong.  Now  
I know why, and such things will not happen again!  But in an effort  
to have my message viewed by the correct list group, I have chanced  
reposting, and I sincerely apologize that I cannot remove the original  
post from the ffmpeg-user list.

I checked out the most recent (as of this message) version of ffmpeg,  
configured, made, and installed it ( /usr/local/* ).  In my  XCode  
project, I have the header and library search paths pointed to "/usr/ 
local/include" and "/usr/local/lib" respectively.  Under "Other Linker  
Flags" I have included "-lavformat -lavcodec -lavutil -lz" plus some  
guichan and SDL libraries, which link just fine thus far.

When I build the project, it sees the headers and compiles fine, but  
when it goes to link I get all sorts of errors:

~/Documents/Programming/Vided/build/Vided.build/Release/Vided.build/ 
Objects-normal/i386/Vided.LinkFileList -framework Cocoa -framework  
OpenGL -framework SDL_mixer -framework SDL -framework SDL_image -arch  
i386 -mmacosx-version-min=10.4 -lavformat -lavcodec -lavutil -lz - 
lguichan -lguichan_sdl -lguichan_opengl -lmp3lame -isysroot /Developer/ 
SDKs/MacOSX10.4u.sdk
Undefined symbols:
  "avpicture_get_size(int, int, int)", referenced from:
      VE_Media::VE_Media(char*)in VE_Media.o
  "avpicture_fill(AVPicture*, unsigned char*, int, int, int)",  
referenced from:
      VE_Media::VE_Media(char*)in VE_Media.o
  "av_open_input_file(AVFormatContext**, char const*, AVInputFormat*,  
int, AVFormatParameters*)", referenced from:
      VE_Media::VE_Media(char*)in VE_Media.o
  "sws_getContext(int, int, int, int, int, int, int, SwsFilter*,  
SwsFilter*, double*)", referenced from:
      VE_Media::VE_Media(char*)in VE_Media.o
  "avcodec_open(AVCodecContext*, AVCodec*)", referenced from:
      VE_Media::VE_Media(char*)in VE_Media.o
      VE_Media::VE_Media(char*)in VE_Media.o
  "avcodec_flush_buffers(AVCodecContext*)", referenced from:
      VE_Media::thread_func()      in VE_Media.o
      VE_Media::thread_func()      in VE_Media.o
  "sws_scale(SwsContext*, unsigned char**, int*, int, int, unsigned  
char**, int*)", referenced from:
      VE_Media::getNextVideoFrame()      in VE_Media.o
      VE_Media::VE_Media(char*)in VE_Media.o
  "av_dup_packet(AVPacket*)", referenced from:
      packet_queue_put(PacketQueue*, AVPacket*)     in VE_Media.o
  "av_read_frame(AVFormatContext*, AVPacket*)", referenced from:
      VE_Media::VE_Media(char*)in VE_Media.o
      VE_Media::VE_Media(char*)in VE_Media.o
      VE_Media::thread_func()      in VE_Media.o
      VE_Media::thread_func()      in VE_Media.o
      VE_Media::thread_func()      in VE_Media.o
      VE_Media::thread_func()      in VE_Media.o
      VE_FrameServe::getNextFrame(AVFormatContext*, AVPacket*)        
in VE_FrameServe.o
  "av_find_stream_info(AVFormatContext*)", referenced from:
      VE_Media::VE_Media(char*)in VE_Media.o
  "av_freep(void*)", referenced from:
      VE_Media::thread_func()      in VE_Media.o
      VE_Media::thread_func()      in VE_Media.o
  "avcodec_alloc_frame()", referenced from:
      VE_Media::VE_Media(char*)in VE_Media.o
      VE_Media::VE_Media(char*)in VE_Media.o
  "av_malloc(unsigned int)", referenced from:
      packet_queue_put(PacketQueue*, AVPacket*)     in VE_Media.o
  "avcodec_decode_video(AVCodecContext*, AVFrame*, int*, unsigned char  
const*, int)", referenced from:
      VE_Media::getNextVideoFrame()      in VE_Media.o
      VE_Media::VE_Media(char*)in VE_Media.o
      VE_Media::thread_func()      in VE_Media.o
      VE_FrameServe::decodeVideo(AVCodecContext*, AVFrame*, int*,  
AVPacket*)  in VE_FrameServe.o
  "dump_format(AVFormatContext*, int, char const*, int)", referenced  
from:
      VE_Media::VE_Media(char*)in VE_Media.o
  "av_seek_frame(AVFormatContext*, int, long long, int)", referenced  
from:
      VE_Media::thread_func()      in VE_Media.o
  "avcodec_decode_audio2(AVCodecContext*, short*, int*, unsigned char  
const*, int)", referenced from:
      VE_Media::getNextAudio(unsigned char*, int)in VE_Media.o
      VE_FrameServe::decodeAudio(AVCodecContext*, short*, int*,  
AVPacket*)in VE_FrameServe.o
  "av_free(void*)", referenced from:
      packet_queue_get(PacketQueue*, AVPacket*, int) in VE_Media.o
  "av_register_all()", referenced from:
      _SDL_main in main.o
  "avcodec_find_decoder(CodecID)", referenced from:
      VE_Media::VE_Media(char*)in VE_Media.o
      VE_Media::VE_Media(char*)in VE_Media.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

These look to me like it cannot find the symbols for the listed  
functions within the libraries that I built and installed.

I will admit that this project was started over a year ago and I'm  
just now dredging it up to try and get it working again, and so some  
things may have been changed, including the version of XCode in use  
since the last time I opened this project.  So does anyone know of  
somewhere else I should be checking or doing something different to  
get this to link correctly?

-- Scott
_______________________________________________
libav-user mailing list
[email protected]
https://lists.mplayerhq.hu/mailman/listinfo/libav-user

Reply via email to