Missing symbols in iOS framework (Bug #4214)
Description
Linking against the OpenCV iOS framework for 2.4.10 available for download at XXXX throws the following linker errors:
Undefined symbols for architecture arm64:
"_jpeg_free_small", referenced from:
_free_pool in opencv2(jmemmgr.o)
_self_destruct in opencv2(jmemmgr.o)
"_jpeg_mem_available", referenced from:
_realize_virt_arrays in opencv2(jmemmgr.o)
"_jpeg_free_large", referenced from:
_free_pool in opencv2(jmemmgr.o)
"_jpeg_open_backing_store", referenced from:
_realize_virt_arrays in opencv2(jmemmgr.o)
"_jpeg_get_large", referenced from:
_alloc_large in opencv2(jmemmgr.o)
_alloc_barray in opencv2(jmemmgr.o)
"_jpeg_mem_term", referenced from:
_jinit_memory_mgr in opencv2(jmemmgr.o)
_self_destruct in opencv2(jmemmgr.o)
"_jpeg_mem_init", referenced from:
_jinit_memory_mgr in opencv2(jmemmgr.o)
"_jpeg_get_small", referenced from:
_jinit_memory_mgr in opencv2(jmemmgr.o)
_alloc_small in opencv2(jmemmgr.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
This happens no matter which arch I am building for, and even when building my own framework from the 2.4.10.1 tag, using the build_framework.py script.
Investigation shows that for some reason, jmemansi.o from 3rdparty/libjpeg is not being included in the final binary, even though it is being compiled into liblibjpeg.a
History
Updated by Pablo Vasquez about 10 years ago
Sorry. That was a misfire, the link should obviously have been: http://opencv.org/downloads.html
Updated by Maksim Shabunin over 9 years ago
Issue has been transferred to GitHub: https://github.com/Itseez/opencv/issues/4941