WMPlayer icon indicating copy to clipboard operation
WMPlayer copied to clipboard

linker command failed with exit code 1 (use -v to see invocation)

Open AniOSDeveloper opened this issue 6 years ago • 5 comments

下载此仓库文件后,在将 FFmpeg 文件放到指定路径,按照说明设置 Setting 及依赖,使用 Xcode10.1 编译后不通过,提示如标题所示,详细信息如下:

Undefined symbols for architecture arm64: "_av_display_rotation_get", referenced from: +[WNPlayerDecoder rotationFromVideoStream:] in WNPlayerDecoder.o "_avformat_seek_file", referenced from: -[WNPlayerDecoder seek:] in WNPlayerDecoder.o "_swr_convert", referenced from: -[WNPlayerDecoder handleAudioPacket:byContext:andFrame:andSwrContext:andSwrBuffer:andSwrBufferSize:] in WNPlayerDecoder.o "_sws_scale", referenced from: -[WNPlayerDecoder handleVideoPacket:byContext:andFrame:andSwsContext:andSwsFrame:] in WNPlayerDecoder.o "_av_strerror", referenced from: _av_make_error_string in WNPlayerDecoder.o "_av_packet_unref", referenced from: -[WNPlayerDecoder readFrames] in WNPlayerDecoder.o "_avcodec_send_packet", referenced from: -[WNPlayerDecoder flush:frame:] in WNPlayerDecoder.o -[WNPlayerDecoder handleVideoPacket:byContext:andFrame:andSwsContext:andSwsFrame:] in WNPlayerDecoder.o -[WNPlayerDecoder handleAudioPacket:byContext:andFrame:andSwrContext:andSwrBuffer:andSwrBufferSize:] in WNPlayerDecoder.o "_avcodec_receive_frame", referenced from: -[WNPlayerDecoder flush:frame:] in WNPlayerDecoder.o -[WNPlayerDecoder handleVideoPacket:byContext:andFrame:andSwsContext:andSwsFrame:] in WNPlayerDecoder.o -[WNPlayerDecoder handleAudioPacket:byContext:andFrame:andSwrContext:andSwrBuffer:andSwrBufferSize:] in WNPlayerDecoder.o "_avcodec_find_decoder", referenced from: -[WNPlayerDecoder openVideoCodec:stream:] in WNPlayerDecoder.o -[WNPlayerDecoder openAudioCodec:stream:] in WNPlayerDecoder.o "_avformat_network_init", referenced from: -[WNPlayerDecoder open:error:] in WNPlayerDecoder.o "_avcodec_parameters_to_context", referenced from: -[WNPlayerDecoder openVideoCodec:stream:] in WNPlayerDecoder.o -[WNPlayerDecoder openAudioCodec:stream:] in WNPlayerDecoder.o "_avcodec_flush_buffers", referenced from: -[WNPlayerDecoder seek:] in WNPlayerDecoder.o "_avcodec_open2", referenced from: -[WNPlayerDecoder openVideoCodec:stream:] in WNPlayerDecoder.o -[WNPlayerDecoder openAudioCodec:stream:] in WNPlayerDecoder.o "_avcodec_free_context", referenced from: -[WNPlayerDecoder open:error:] in WNPlayerDecoder.o -[WNPlayerDecoder openVideoCodec:stream:] in WNPlayerDecoder.o -[WNPlayerDecoder openAudioCodec:stream:] in WNPlayerDecoder.o -[WNPlayerDecoder closeVideoStream] in WNPlayerDecoder.o -[WNPlayerDecoder closeAudioStream] in WNPlayerDecoder.o "_av_dict_get", referenced from: -[WNPlayerDecoder findMetadata:] in WNPlayerDecoder.o +[WNPlayerDecoder rotationFromVideoStream:] in WNPlayerDecoder.o "_av_dump_format", referenced from: -[WNPlayerDecoder open:error:] in WNPlayerDecoder.o "_avformat_open_input", referenced from: -[WNPlayerDecoder open:error:] in WNPlayerDecoder.o "_avformat_find_stream_info", referenced from: -[WNPlayerDecoder open:error:] in WNPlayerDecoder.o "_av_strtod", referenced from: +[WNPlayerDecoder rotationFromVideoStream:] in WNPlayerDecoder.o "_av_image_alloc", referenced from: -[WNPlayerDecoder open:error:] in WNPlayerDecoder.o "_av_samples_get_buffer_size", referenced from: -[WNPlayerDecoder handleAudioPacket:byContext:andFrame:andSwrContext:andSwrBuffer:andSwrBufferSize:] in WNPlayerDecoder.o "_swr_alloc_set_opts", referenced from: -[WNPlayerDecoder open:error:] in WNPlayerDecoder.o "_sws_freeContext", referenced from: -[WNPlayerDecoder open:error:] in WNPlayerDecoder.o -[WNPlayerDecoder closeVideoStream] in WNPlayerDecoder.o "_av_read_frame", referenced from: -[WNPlayerDecoder readFrames] in WNPlayerDecoder.o "_avformat_network_deinit", referenced from: -[WNPlayerDecoder close] in WNPlayerDecoder.o "_avcodec_alloc_context3", referenced from: -[WNPlayerDecoder openVideoCodec:stream:] in WNPlayerDecoder.o -[WNPlayerDecoder openAudioCodec:stream:] in WNPlayerDecoder.o "_av_stream_get_side_data", referenced from: +[WNPlayerDecoder rotationFromVideoStream:] in WNPlayerDecoder.o "_av_frame_free", referenced from: -[WNPlayerDecoder open:error:] in WNPlayerDecoder.o -[WNPlayerDecoder closeVideoStream] in WNPlayerDecoder.o -[WNPlayerDecoder closeAudioStream] in WNPlayerDecoder.o "_av_frame_alloc", referenced from: -[WNPlayerDecoder open:error:] in WNPlayerDecoder.o "_avformat_close_input", referenced from: -[WNPlayerDecoder open:error:] in WNPlayerDecoder.o -[WNPlayerDecoder close] in WNPlayerDecoder.o "_av_get_default_channel_layout", referenced from: -[WNPlayerDecoder open:error:] in WNPlayerDecoder.o "_swr_init", referenced from: -[WNPlayerDecoder open:error:] in WNPlayerDecoder.o "_avformat_free_context", referenced from: -[WNPlayerDecoder open:error:] in WNPlayerDecoder.o "_swr_free", referenced from: -[WNPlayerDecoder open:error:] in WNPlayerDecoder.o -[WNPlayerDecoder closeAudioStream] in WNPlayerDecoder.o "_sws_getContext", referenced from: -[WNPlayerDecoder open:error:] in WNPlayerDecoder.o "_ffmpeg_main", referenced from: ___42-[TestFFmpegViewController sliceBtnClick:]_block_invoke in TestFFmpegViewController.o ___44-[TestFFmpegViewController composeBtnClick:]_block_invoke in TestFFmpegViewController.o ___42-[TestFFmpegViewController transBtnClick:]_block_invoke in TestFFmpegViewController.o ___41-[TestFFmpegViewController logoBtnClick:]_block_invoke in TestFFmpegViewController.o ___43-[TestFFmpegViewController filterBtnClick:]_block_invoke in TestFFmpegViewController.o ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

AniOSDeveloper avatar Feb 02 '19 06:02 AniOSDeveloper

解决了吗 我现在也是这个问题

zhengdashuai avatar Feb 11 '19 02:02 zhengdashuai

我也是

harofan avatar Feb 14 '19 06:02 harofan

删除TestFFmpegViewController 就好了,这个是测试文件 @Link913

zhengdashuai avatar Feb 14 '19 06:02 zhengdashuai

请大家更新demo,我已经把TestFFmpegViewController里面测试代码注释掉了,可以放心使用了。 本人的测试代码带来的bug,给大家带来的不便,请原谅。

zhengwenming avatar Feb 14 '19 07:02 zhengwenming

@zhengwenming 下载最新的库文件编译后,编译不通过,提示如下:

symbol(s) not found for architecture arm64 linker command failed with exit code 1 (use -v to see invocation)

详细信息: Undefined symbols for architecture arm64: "_av_display_rotation_get", referenced from: +[WNPlayerDecoder rotationFromVideoStream:] in WNPlayerDecoder.o "_avformat_seek_file", referenced from: -[WNPlayerDecoder seek:] in WNPlayerDecoder.o "_swr_convert", referenced from: -[WNPlayerDecoder handleAudioPacket:byContext:andFrame:andSwrContext:andSwrBuffer:andSwrBufferSize:] in WNPlayerDecoder.o "_sws_scale", referenced from: -[WNPlayerDecoder handleVideoPacket:byContext:andFrame:andSwsContext:andSwsFrame:] in WNPlayerDecoder.o "_av_strerror", referenced from: _av_make_error_string in WNPlayerDecoder.o "_av_packet_unref", referenced from: -[WNPlayerDecoder readFrames] in WNPlayerDecoder.o "_avcodec_send_packet", referenced from: -[WNPlayerDecoder flush:frame:] in WNPlayerDecoder.o -[WNPlayerDecoder handleVideoPacket:byContext:andFrame:andSwsContext:andSwsFrame:] in WNPlayerDecoder.o -[WNPlayerDecoder handleAudioPacket:byContext:andFrame:andSwrContext:andSwrBuffer:andSwrBufferSize:] in WNPlayerDecoder.o "_avcodec_receive_frame", referenced from: -[WNPlayerDecoder flush:frame:] in WNPlayerDecoder.o -[WNPlayerDecoder handleVideoPacket:byContext:andFrame:andSwsContext:andSwsFrame:] in WNPlayerDecoder.o -[WNPlayerDecoder handleAudioPacket:byContext:andFrame:andSwrContext:andSwrBuffer:andSwrBufferSize:] in WNPlayerDecoder.o "_av_read_frame", referenced from: -[WNPlayerDecoder readFrames] in WNPlayerDecoder.o "_avcodec_alloc_context3", referenced from: -[WNPlayerDecoder openVideoCodec:stream:] in WNPlayerDecoder.o -[WNPlayerDecoder openAudioCodec:stream:] in WNPlayerDecoder.o "_avformat_network_deinit", referenced from: -[WNPlayerDecoder close] in WNPlayerDecoder.o "_avcodec_find_decoder", referenced from: -[WNPlayerDecoder openVideoCodec:stream:] in WNPlayerDecoder.o -[WNPlayerDecoder openAudioCodec:stream:] in WNPlayerDecoder.o "_avformat_network_init", referenced from: -[WNPlayerDecoder open:error:] in WNPlayerDecoder.o "_avcodec_parameters_to_context", referenced from: -[WNPlayerDecoder openVideoCodec:stream:] in WNPlayerDecoder.o -[WNPlayerDecoder openAudioCodec:stream:] in WNPlayerDecoder.o "_avcodec_flush_buffers", referenced from: -[WNPlayerDecoder seek:] in WNPlayerDecoder.o "_avcodec_open2", referenced from: -[WNPlayerDecoder openVideoCodec:stream:] in WNPlayerDecoder.o -[WNPlayerDecoder openAudioCodec:stream:] in WNPlayerDecoder.o "_avcodec_free_context", referenced from: -[WNPlayerDecoder open:error:] in WNPlayerDecoder.o -[WNPlayerDecoder openVideoCodec:stream:] in WNPlayerDecoder.o -[WNPlayerDecoder openAudioCodec:stream:] in WNPlayerDecoder.o -[WNPlayerDecoder closeVideoStream] in WNPlayerDecoder.o -[WNPlayerDecoder closeAudioStream] in WNPlayerDecoder.o "_av_dict_get", referenced from: -[WNPlayerDecoder findMetadata:] in WNPlayerDecoder.o +[WNPlayerDecoder rotationFromVideoStream:] in WNPlayerDecoder.o "_av_dump_format", referenced from: -[WNPlayerDecoder open:error:] in WNPlayerDecoder.o "_avformat_open_input", referenced from: -[WNPlayerDecoder open:error:] in WNPlayerDecoder.o "_avformat_find_stream_info", referenced from: -[WNPlayerDecoder open:error:] in WNPlayerDecoder.o "_av_samples_get_buffer_size", referenced from: -[WNPlayerDecoder handleAudioPacket:byContext:andFrame:andSwrContext:andSwrBuffer:andSwrBufferSize:] in WNPlayerDecoder.o "_swr_alloc_set_opts", referenced from: -[WNPlayerDecoder open:error:] in WNPlayerDecoder.o "_sws_freeContext", referenced from: -[WNPlayerDecoder open:error:] in WNPlayerDecoder.o -[WNPlayerDecoder closeVideoStream] in WNPlayerDecoder.o "_av_stream_get_side_data", referenced from: +[WNPlayerDecoder rotationFromVideoStream:] in WNPlayerDecoder.o "_av_frame_free", referenced from: -[WNPlayerDecoder open:error:] in WNPlayerDecoder.o -[WNPlayerDecoder closeVideoStream] in WNPlayerDecoder.o -[WNPlayerDecoder closeAudioStream] in WNPlayerDecoder.o "_av_frame_alloc", referenced from: -[WNPlayerDecoder open:error:] in WNPlayerDecoder.o "_avformat_close_input", referenced from: -[WNPlayerDecoder open:error:] in WNPlayerDecoder.o -[WNPlayerDecoder close] in WNPlayerDecoder.o "_av_get_default_channel_layout", referenced from: -[WNPlayerDecoder open:error:] in WNPlayerDecoder.o "_av_strtod", referenced from: +[WNPlayerDecoder rotationFromVideoStream:] in WNPlayerDecoder.o "_av_image_alloc", referenced from: -[WNPlayerDecoder open:error:] in WNPlayerDecoder.o "_swr_init", referenced from: -[WNPlayerDecoder open:error:] in WNPlayerDecoder.o "_avformat_free_context", referenced from: -[WNPlayerDecoder open:error:] in WNPlayerDecoder.o "_swr_free", referenced from: -[WNPlayerDecoder open:error:] in WNPlayerDecoder.o -[WNPlayerDecoder closeAudioStream] in WNPlayerDecoder.o "_sws_getContext", referenced from: -[WNPlayerDecoder open:error:] in WNPlayerDecoder.o ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

AniOSDeveloper avatar Feb 15 '19 01:02 AniOSDeveloper