iOS开发duplicate symbol _ProviderReleaseData

来源:互联网 发布:ebsco数据库免费入口 编辑:程序博客网 时间:2024/06/05 08:15

update项目之后,出现一个问题,描述如下:

duplicate symbol _ProviderReleaseData in:

    /Users/Sings/Library/Developer/Xcode/DerivedData/xxxx-fgklfldoifxapdbcxnojubdormvp/Build/Intermediates/xxxx.build/Debug-iphoneos/xxxx.build/Objects-normal/arm64/UIImage+Bitmap.o

    /Users/Sings/Library/Developer/Xcode/DerivedData/xxxx-fgklfldoifxapdbcxnojubdormvp/Build/Intermediates/xxxx.build/Debug-iphoneos/xxxx.build/Objects-normal/arm64/UIImage+XG.o

ld: 1 duplicate symbol for architecture arm64

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

经过查找发现给一个UIImage同时新建了两个了类别,且都调用了同一个方法

void ProviderReleaseData (void *info, const void *data, size_t size){    free((void*)data);}

这里报错的意思就是两个文件中此方法重复定义,最后删除其中一个即可解决。ProviderReleaseData方法是用来遍历图片像素,更改图片颜色;这个函数的意思是当CGDataProviderCreateWithData生成的CGDataProviderRef 释放的时候会执行,然后在里面释放使用的像素集合,为何出现这个错误,楼主有些不解,麻烦清楚知道的博友给予一些解答,感激不尽,谢谢!

阅读全文
1 0