iOS Framework Remove 3rd party libraries

Hello OpenCV community!

I’m trying to avoid duplicated symbols with my Xcode project.

I already build this my frameworks using the bellow command:
python platforms/apple/build_xcframework.py --out ./build_xcframework

It’s possible exclude 3rd party libraries such: libpng, protobuf, zlib, etc?

Regards

cmake has WITH_XXXX and BUILD_XXXX flags for that
(at library build time (!)),
however, you will lose the functionality to read png images, onnx networks, etc.

how do you get those, exactly ?
simply disabling opencv’s 3rdparty libs does not seem a proper way of avoiding errors in your project

Hi Berak, thanks for reply

I seen that the argument –disable should turn off 3rd party libs, or I’m wrong? (I already tried but duplicated symbols persists)

parser.add_argument('--disable', metavar='FEATURE', default=[], action='append', help='OpenCV features to disable (add WITH_*=OFF). To disable multiple, specify this flag again, e.g. "--disable tbb --disable openmp"')

how do you get those, exactly ?
simply disabling opencv’s 3rdparty libs does not seem a proper way of avoiding errors in your project
Our project contain a static library that already contains that libraries due that I’m getting duplicated symbols, I hope disabling the libs in OpenCV work correctly

Duplicated symbols issues fixed, now my project work property on iOS and MacOS

Erasing the correspondent code to libpng and libjpeg in opencv-4.9.0/cmake/OpenCVFindLibsGrfmt.cmake does the work

I don’t like have to delete code directly from cmake files, if exists a way to disable that part of the code from command line please comment it please

Regards and keep the good work

1 Like