简体   繁体   中英

Undefined symbols for architecture arm64: “cv::String::deallocate()”

When I add a ".a" file which includes opencv.framework,Xcode encountered such compile errors:

在此处输入图片说明

I am pretty sure opencv.framework is there,and I am using opencv 3.1,it should already support arm64. But why does it keep complaining about this? How can I fix it? Thanks a lot.

lipo - info shows following information: Architectures in the fat file: /Users/Fumin/libVisageWrapper.a are: armv7 i386 x86_64 arm64

You should verify that the library is correctly supporting arm64 using this command:

lipo -info libYourLib.a 

The output of this command should show this:

Architectures in the fat file: libYourLib.a are: armv7 arm64 

A fat file means a file which holds binary elements for possibly more than one architecture.

If arm64 is missing, you can't build a target for arm64 devices. You might need to ask your supplier of the library to build a fat version which includes the arm64 architecture.

It turns out there is already an opencv library in some other library,so two instance opencvs are conflictting with each other. After .a file provider provide a new version using the same opencv library, now it works fine.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM