It appears that this commit fixes the issue, while still keeping NEON support for iOS devices:
https://github.com/opencv/opencv/commit/262a52f3063c50fbb1236e2cba2bd3c68f9979bb
Essentially, the clause that appends -DENABLE_NEON=ON
to the cmake
line was only applying to architectures beginning with "armv"
(note the "v"); the above commit changes opencv/platforms/ios/build_framework.py
to allow the cmake command to work with "arm64"
as well.
Before:
if arch.startswith("armv"):
cmakecmd.append("-DENABLE_NEON=ON")
After:
if arch.startswith("armv") or arch.startswith("arm64"):
cmakecmd.append("-DENABLE_NEON=ON")
Diagnostic process, since it might be useful:
Found this by starting a script build.log
before invoking python ../opencv/platforms/ios/build_framework.py ios
and digging through output; arm_init.c
was not built for arm64
(which is where png_init_filter_functions_neon
was defined) but was for armv7
and armv7s
. From there, looking through 3rdparty/libpng/CMakeLists.txt
pointed at ENABLE_NEON
not being set.
opencv
, but 64 bit is supported by default on the latestopencv
framework, get it from - opencv.org/downloads.html – Fahri Azimov