Undefined symbols for architecture arm64

使用ffmpeg遇到的问题。

问题并不是oc的问题,也不是Link的问题,归根结底是oc 和 c++和c混编的问题。

解决方案,在c++文件中引用c的头文件时候加extern “C”{}

例如:

#ifdef __cplusplus

extern "C" {

#endif


#include "libavcodec/avcodec.h"

#include "libavformat/avformat.h"

#include "libavutil/imgutils.h"

#include "libswscale/swscale.h"

#ifdef __cplusplus

}

#endif

最后c++文件以.mm结尾.

补充:

此类问题其他情况也会有

1.检查是否支持64架构,lipo -info xxx.a

2.第三方库冲突

3.链接库缺少

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容