Compilation Error: Undefined symbols for architecture i386
I am working on a an application to stream live video on iPhone from IP cameras through rtsp. I am using open source projects like live555, DecoderWrapper and RTSPClient. I get the following error while compiling my project.
Undefined symbols for architecture i386:
"_av_register_all", referenced from:
+[VideoDecoder staticInitialize] in libDecoderWrapper.a(VideoDecoder.o)
"_avcodec_init", referenced from:
+[VideoDecoder staticInitialize] in libDecoderWrapper.a(VideoDecoder.o)
"_av_log_set_callback", referenced from:
+[VideoDecoder registerLogCallback:] in libDecoderWrapper.a(VideoDecoder.o)
"_avcodec_find_decoder", referenced from:
-[VideoDecoder initWithCodec:colorSpace:width:height:privateData:] in libDecoderWrapper.a(VideoDecoder.o)
"_avcodec_alloc_context", referenced from:
-[VideoDecoder initWithCodec:colorSpace:width:height:privateData:] in libDecoderWrapper.a(VideoDecoder.o)
"_av_malloc", referenced from:
-[VideoDecoder initWithCodec:colorSpace:width:height:privateData:] in libDecoderWrapper.a(VideoDecoder.o)
-[VideoDecoder decodeFrame:] in libDecoderWrapper.a(VideoDecoder.o)
"_avcodec_alloc_frame", referenced from:
-[VideoDecoder initWithCodec:colorSpace:width:height:privateData:] in libDecoderWrapper.a(VideoDecoder.o)
"_avcodec_open", referenced from:
-[VideoDecoder initWithCodec:colorSpace:width:height:privateData:] in libDecoderWrapper.a(VideoDecoder.o)
"_avcodec_decode_video2", referenced from:
-[VideoDecoder decodeFrame:] in libDecoderWrapper.a(VideoDecoder.o)
"_avpicture_get_size", referenced from:
-[VideoDecoder decodeFrame:] in libDecoderWrapper.a(VideoDecoder.o)
"_avpicture_fill", referenced from:
-[VideoDecoder decodeFrame:] in libDecoderWrapper.a(VideoDecoder.o)
"_sws_getContext", referenced from:
-[VideoDecoder decodeFrame:] in libDecoderWrapper.a(VideoDecoder.o)
"_sws_scale", referenced from:
-[VideoDecoder getDecodedFrame] in libDecoderWrapper.a(VideoDecoder.o)
"_avpicture_free", referenced from:
-[VideoDecoder getDecodedFrame] in libDecoderWrapper.a(VideoDecoder.o)
"_avpicture_alloc", referenced from:
-[VideoDecoder getDecodedFrame] in libDecoderWrapper.a(VideoDecoder.o)
"_av_picture_copy", referenced from:
-[VideoDecoder getDecodedFrame] in libDecoderWrapper.a(VideoDecoder.o)
"_av_free", referenced from:
-[VideoDecoder dealloc] in libDecoderWrapper.a(VideoDecoder.o)
"_avcodec_close", referenced from:
-[VideoDecoder dealloc] in libDecoderWrapper.a(VideoDecoder.o)
ld: symbol开发者_JAVA百科(s) not found for architecture i386
collect2: ld returned 1 exit status
I've already tried different solutions like checking if I had copied any frameworks to my projects. I've checked and there is nothing in "Framework search paths". As I am using "ffmpeg" in my project I've also tried compiling the library for i386 and then I added these libraries to my project. But nothing works! Can someone please help me? I can provide code details if needed.
Double check your compilation stuff as it should be compiling for arm not i386. The fact it's bringing up architecture references for i386 makes me think it's trying to compile for desktop not iOS.
精彩评论