lagadic / visp

Open Source Visual Servoing Platform
https://visp.inria.fr/
GNU General Public License v2.0
725 stars 286 forks source link

Static Build ViSP with 3rd parties #1457

Open Som5ra opened 2 months ago

Som5ra commented 2 months ago

Hello, I am trying writing a application with visp, but I want to integrate all the 3rd party's .a and visp .a into a single .dll. Because I wanna make it work in another machine where doesn't have the environment for installing 3rd-parties.

I have successfully integrate visp .a into one single dll by building visp and my code staticlly, the details: set BUILD_SHARED_LIBS=OFF, and build my program just like tutorial program.

May I know if there is a way to integrate 3rd parties .a files into my dll? just like opencv. Thanks!!

fspindle commented 2 months ago

By ‘3rd parties’ do you mean the 3rd parties in ViSP's 3rdparty folder, or also external 3rd parties such as eigen, opencv...

Som5ra commented 2 months ago

By ‘3rd parties’ do you mean the 3rd parties in ViSP's 3rdparty folder, or also external 3rd parties such as eigen, opencv...

Actually the 3rd party i mentioned is OPENCV. What I wanna do is integrate opencv .a files and my visp code into a single .dll. Then I can use it as a plugin in unity (expose some of functions called by c#) and deploy them into mobile side without opencv installation (android, ios...). Thanks for your kindly reply.

Som5ra commented 2 months ago

It seems that I located the problem: when I compile visp with static built opencv, it would not find the 3rd parties libs from opencv (-llibpng -llibtiff -llibopenjp2 -lIlmImf -lzlib -ltegra_hal, etc.)

I use pkg-config to find those:

pkg-config --cflags --libs --static opencv4

# output:
-I/usr/local/include/opencv4 -L/usr/local/lib -L/usr/local/lib/opencv4/3rdparty -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/System/Library/Frameworks -lopencv_gapi -lopencv_stitching -lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_dnn_objdetect -lopencv_dnn_superres -lopencv_dpm -lopencv_face -lopencv_fuzzy -lopencv_hfs -lopencv_img_hash -lopencv_intensity_transform -lopencv_line_descriptor -lopencv_mcc -lopencv_quality -lopencv_rapid -lopencv_reg -lopencv_rgbd -lopencv_saliency -lopencv_signal -lopencv_stereo -lopencv_structured_light -lopencv_phase_unwrapping -lopencv_superres -lopencv_optflow -lopencv_surface_matching -lopencv_tracking -lopencv_highgui -lopencv_datasets -lopencv_text -lopencv_plot -lopencv_videostab -lopencv_videoio -lopencv_wechat_qrcode -lopencv_xfeatures2d -lopencv_shape -lopencv_ml -lopencv_ximgproc -lopencv_video -lopencv_xobjdetect -lopencv_objdetect -lopencv_calib3d -lopencv_imgcodecs -lopencv_features2d -lopencv_dnn -lopencv_flann -lopencv_xphoto -lopencv_photo -lopencv_imgproc -lopencv_core -llibprotobuf -lade -littnotify -llibjpeg-turbo -llibwebp -llibpng -llibtiff -llibopenjp2 -lIlmImf -lzlib -ltegra_hal -framework OpenCL -lAccelerate.framework -lm -ldl -framework Cocoa -framework AppKit -lIconv::Iconv

But i don't know how to add those linkers to visp CMakeLists, could you please help? (I am using MACOS, opencv4.10 with contrib modules)

cmake errors here (all of these errors are related to extra 3rd parties from opencv):

Undefined symbols for architecture arm64:
  "_CGWindowLevelForKey", referenced from:
      cvSetPropTopmost_COCOA(char const*, bool) in libopencv_highgui.a[5](window_cocoa.mm.o)
  "_NSApp", referenced from:
      _cvNamedWindow in libopencv_highgui.a[5](window_cocoa.mm.o)
  "_NSAppKitVersionNumber", referenced from:
      _cvInitSystem in libopencv_highgui.a[5](window_cocoa.mm.o)
      _cvNamedWindow in libopencv_highgui.a[5](window_cocoa.mm.o)
      -[CVView setImageData:] in libopencv_highgui.a[5](window_cocoa.mm.o)
  "_NSDefaultRunLoopMode", referenced from:
      _cvWaitKey in libopencv_highgui.a[5](window_cocoa.mm.o)
  "_NSDeviceRGBColorSpace", referenced from:
      -[CVView setImageData:] in libopencv_highgui.a[5](window_cocoa.mm.o)
  "_NSZeroRect", referenced from:
      -[CVView drawRect:] in libopencv_highgui.a[5](window_cocoa.mm.o)
  "_OBJC_CLASS_$_NSApplication", referenced from:
       in libopencv_highgui.a[5](window_cocoa.mm.o)
  "_OBJC_CLASS_$_NSAutoreleasePool", referenced from:
       in libopencv_highgui.a[5](window_cocoa.mm.o)
  "_OBJC_CLASS_$_NSBitmapImageRep", referenced from:
       in libopencv_highgui.a[5](window_cocoa.mm.o)
  "_OBJC_CLASS_$_NSDate", referenced from:
       in libopencv_highgui.a[5](window_cocoa.mm.o)
  "_OBJC_CLASS_$_NSDictionary", referenced from:
       in libopencv_highgui.a[5](window_cocoa.mm.o)
  "_OBJC_CLASS_$_NSEvent", referenced from:
       in libopencv_highgui.a[5](window_cocoa.mm.o)
  "_OBJC_CLASS_$_NSImage", referenced from:
       in libopencv_highgui.a[5](window_cocoa.mm.o)
  "_OBJC_CLASS_$_NSMutableArray", referenced from:
       in libopencv_highgui.a[5](window_cocoa.mm.o)
  "_OBJC_CLASS_$_NSMutableDictionary", referenced from:
       in libopencv_highgui.a[5](window_cocoa.mm.o)
  "_OBJC_CLASS_$_NSScreen", referenced from:
       in libopencv_highgui.a[5](window_cocoa.mm.o)
  "_OBJC_CLASS_$_NSSlider", referenced from:
       in libopencv_highgui.a[5](window_cocoa.mm.o)
  "_OBJC_CLASS_$_NSString", referenced from:
       in libopencv_highgui.a[5](window_cocoa.mm.o)
  "_OBJC_CLASS_$_NSTextField", referenced from:
       in libopencv_highgui.a[5](window_cocoa.mm.o)
  "_OBJC_CLASS_$_NSThread", referenced from:
       in libopencv_highgui.a[5](window_cocoa.mm.o)
  "_OBJC_CLASS_$_NSView", referenced from:
       in libopencv_highgui.a[5](window_cocoa.mm.o)
      _OBJC_CLASS_$_CVView in libopencv_highgui.a[5](window_cocoa.mm.o)
      _OBJC_CLASS_$_CVSlider in libopencv_highgui.a[5](window_cocoa.mm.o)
  "_OBJC_CLASS_$_NSWindow", referenced from:
       in libopencv_highgui.a[5](window_cocoa.mm.o)
      _OBJC_CLASS_$_CVWindow in libopencv_highgui.a[5](window_cocoa.mm.o)
  "_OBJC_METACLASS_$_NSObject", referenced from:
      _OBJC_METACLASS_$_CVWindow in libopencv_highgui.a[5](window_cocoa.mm.o)
      _OBJC_METACLASS_$_CVView in libopencv_highgui.a[5](window_cocoa.mm.o)
      _OBJC_METACLASS_$_CVSlider in libopencv_highgui.a[5](window_cocoa.mm.o)
  "_OBJC_METACLASS_$_NSView", referenced from:
      _OBJC_METACLASS_$_CVView in libopencv_highgui.a[5](window_cocoa.mm.o)
      _OBJC_METACLASS_$_CVSlider in libopencv_highgui.a[5](window_cocoa.mm.o)
  "_OBJC_METACLASS_$_NSWindow", referenced from:
      _OBJC_METACLASS_$_CVWindow in libopencv_highgui.a[5](window_cocoa.mm.o)
  "carotene_o4t::bitwiseAnd(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char const*, long, unsigned char*, long)", referenced from:
      cv::hal::and8u(unsigned char const*, unsigned long, unsigned char const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::bitwiseNot(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char*, long)", referenced from:
      cv::hal::not8u(unsigned char const*, unsigned long, unsigned char const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::bitwiseXor(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char const*, long, unsigned char*, long)", referenced from:
      cv::hal::xor8u(unsigned char const*, unsigned long, unsigned char const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::reciprocal(carotene_o4t::Size2D const&, signed char const*, long, signed char*, long, float, carotene_o4t::CONVERT_POLICY)", referenced from:
      cv::hal::recip8s(signed char const*, unsigned long, signed char const*, unsigned long, signed char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::reciprocal(carotene_o4t::Size2D const&, float const*, long, float*, long, float)", referenced from:
      cv::hal::recip32f(float const*, unsigned long, float const*, unsigned long, float*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::reciprocal(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char*, long, float, carotene_o4t::CONVERT_POLICY)", referenced from:
      cv::hal::recip8u(unsigned char const*, unsigned long, unsigned char const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::reciprocal(carotene_o4t::Size2D const&, int const*, long, int*, long, float, carotene_o4t::CONVERT_POLICY)", referenced from:
      cv::hal::recip32s(int const*, unsigned long, int const*, unsigned long, int*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::reciprocal(carotene_o4t::Size2D const&, short const*, long, short*, long, float, carotene_o4t::CONVERT_POLICY)", referenced from:
      cv::hal::recip16s(short const*, unsigned long, short const*, unsigned long, short*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::reciprocal(carotene_o4t::Size2D const&, unsigned short const*, long, unsigned short*, long, float, carotene_o4t::CONVERT_POLICY)", referenced from:
      cv::hal::recip16u(unsigned short const*, unsigned long, unsigned short const*, unsigned long, unsigned short*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::rgb2bgr565(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char*, long)", referenced from:
      TegraCvtColor_rgb2bgr565_Invoker::operator()(cv::Range const&) const in libopencv_imgproc.a[13](color_rgb.dispatch.cpp.o)
  "carotene_o4t::rgb2rgb565(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char*, long)", referenced from:
      TegraCvtColor_rgb2rgb565_Invoker::operator()(cv::Range const&) const in libopencv_imgproc.a[13](color_rgb.dispatch.cpp.o)
  "carotene_o4t::addWeighted(carotene_o4t::Size2D const&, signed char const*, long, signed char const*, long, signed char*, long, float, float, float)", referenced from:
      cv::hal::addWeighted8s(signed char const*, unsigned long, signed char const*, unsigned long, signed char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::addWeighted(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char const*, long, unsigned char*, long, float, float, float)", referenced from:
      cv::hal::addWeighted8u(unsigned char const*, unsigned long, unsigned char const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::addWeighted(carotene_o4t::Size2D const&, int const*, long, int const*, long, int*, long, float, float, float)", referenced from:
      cv::hal::addWeighted32s(int const*, unsigned long, int const*, unsigned long, int*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::addWeighted(carotene_o4t::Size2D const&, short const*, long, short const*, long, short*, long, float, float, float)", referenced from:
      cv::hal::addWeighted16s(short const*, unsigned long, short const*, unsigned long, short*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::addWeighted(carotene_o4t::Size2D const&, unsigned short const*, long, unsigned short const*, long, unsigned short*, long, float, float, float)", referenced from:
      cv::hal::addWeighted16u(unsigned short const*, unsigned long, unsigned short const*, unsigned long, unsigned short*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::convolution(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char*, long, carotene_o4t::BORDER_MODE, unsigned char, carotene_o4t::Size2D const&, short*, unsigned int)", referenced from:
      cv::hal::filter2D(int, int, int, unsigned char*, unsigned long, unsigned char*, unsigned long, int, int, int, int, int, int, unsigned char*, unsigned long, int, int, int, int, double, int, bool) in libopencv_imgproc.a[32](filter.dispatch.cpp.o)
  "carotene_o4t::rgbx2bgr565(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char*, long)", referenced from:
      TegraCvtColor_rgbx2bgr565_Invoker::operator()(cv::Range const&) const in libopencv_imgproc.a[13](color_rgb.dispatch.cpp.o)
  "carotene_o4t::rgbx2rgb565(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char*, long)", referenced from:
      TegraCvtColor_rgbx2rgb565_Invoker::operator()(cv::Range const&) const in libopencv_imgproc.a[13](color_rgb.dispatch.cpp.o)
  "carotene_o4t::resizeAreaOpenCV(carotene_o4t::Size2D const&, carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char*, long, float, float, unsigned int)", referenced from:
      cv::hal::resize(int, unsigned char const*, unsigned long, int, int, unsigned char*, unsigned long, int, int, double, double, int) in libopencv_imgproc.a[54](resize.cpp.o)
[100%] Built target visp-compute-hand-eye-calibration
  "carotene_o4t::SeparableFilter3x3(carotene_o4t::Size2D const&, unsigned char const*, long, short*, long, unsigned char, unsigned char, short const*, short const*, carotene_o4t::BORDER_MODE, unsigned char, carotene_o4t::Margin)", referenced from:
      cv::hal::sepFilter2D(int, int, int, unsigned char*, unsigned long, unsigned char*, unsigned long, int, int, int, int, int, int, unsigned char*, int, unsigned char*, int, int, int, double, int) in libopencv_imgproc.a[32](filter.dispatch.cpp.o)
  "carotene_o4t::resizeLinearOpenCV(carotene_o4t::Size2D const&, carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char*, long, float, float, unsigned int)", referenced from:
      cv::hal::resize(int, unsigned char const*, unsigned long, int, int, unsigned char*, unsigned long, int, int, double, double, int) in libopencv_imgproc.a[54](resize.cpp.o)
  "carotene_o4t::isResizeAreaSupported(float, float, unsigned int)", referenced from:
      cv::hal::resize(int, unsigned char const*, unsigned long, int, int, unsigned char*, unsigned long, int, int, double, double, int) in libopencv_imgproc.a[54](resize.cpp.o)
  "carotene_o4t::isConvolutionSupported(carotene_o4t::Size2D const&, carotene_o4t::Size2D const&, carotene_o4t::BORDER_MODE)", referenced from:
      cv::hal::filter2D(int, int, int, unsigned char*, unsigned long, unsigned char*, unsigned long, int, int, int, int, int, int, unsigned char*, unsigned long, int, int, int, int, double, int, bool) in libopencv_imgproc.a[32](filter.dispatch.cpp.o)
      TEGRA_FILTERINIT(cvhalFilter2D**, unsigned char*, unsigned long, int, int, int, int, int, int, int, int, double, int, int, bool, bool) in libopencv_imgproc.a[32](filter.dispatch.cpp.o)
  "carotene_o4t::isSupportedConfiguration()", referenced from:
      cv::hal::add8u(unsigned char const*, unsigned long, unsigned char const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
      cv::hal::add8s(signed char const*, unsigned long, signed char const*, unsigned long, signed char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
      cv::hal::add16u(unsigned short const*, unsigned long, unsigned short const*, unsigned long, unsigned short*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
      cv::hal::add16s(short const*, unsigned long, short const*, unsigned long, short*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
      cv::hal::add32s(int const*, unsigned long, int const*, unsigned long, int*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
      cv::hal::add32f(float const*, unsigned long, float const*, unsigned long, float*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
      cv::hal::sub8u(unsigned char const*, unsigned long, unsigned char const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
      ...
  "carotene_o4t::isResizeLinearOpenCVSupported(carotene_o4t::Size2D const&, carotene_o4t::Size2D const&, unsigned int)", referenced from:
      cv::hal::resize(int, unsigned char const*, unsigned long, int, int, unsigned char*, unsigned long, int, int, double, double, int) in libopencv_imgproc.a[54](resize.cpp.o)
  "carotene_o4t::isSeparableFilter3x3Supported(carotene_o4t::Size2D const&, carotene_o4t::BORDER_MODE, int, int, carotene_o4t::Margin)", referenced from:
      cv::hal::sepFilter2D(int, int, int, unsigned char*, unsigned long, unsigned char*, unsigned long, int, int, int, int, int, int, unsigned char*, int, unsigned char*, int, int, int, double, int) in libopencv_imgproc.a[32](filter.dispatch.cpp.o)
      TEGRA_SEPFILTERINIT(cvhalFilter2D**, int, int, int, unsigned char*, int, unsigned char*, int, int, int, double, int) in libopencv_imgproc.a[32](filter.dispatch.cpp.o)
  "carotene_o4t::add(carotene_o4t::Size2D const&, signed char const*, long, signed char const*, long, signed char*, long, carotene_o4t::CONVERT_POLICY)", referenced from:
      cv::hal::add8s(signed char const*, unsigned long, signed char const*, unsigned long, signed char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::add(carotene_o4t::Size2D const&, float const*, long, float const*, long, float*, long)", referenced from:
      cv::hal::add32f(float const*, unsigned long, float const*, unsigned long, float*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::add(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char const*, long, unsigned char*, long, carotene_o4t::CONVERT_POLICY)", referenced from:
      cv::hal::add8u(unsigned char const*, unsigned long, unsigned char const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::add(carotene_o4t::Size2D const&, int const*, long, int const*, long, int*, long, carotene_o4t::CONVERT_POLICY)", referenced from:
      cv::hal::add32s(int const*, unsigned long, int const*, unsigned long, int*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::add(carotene_o4t::Size2D const&, short const*, long, short const*, long, short*, long, carotene_o4t::CONVERT_POLICY)", referenced from:
      cv::hal::add16s(short const*, unsigned long, short const*, unsigned long, short*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::add(carotene_o4t::Size2D const&, unsigned short const*, long, unsigned short const*, long, unsigned short*, long, carotene_o4t::CONVERT_POLICY)", referenced from:
      cv::hal::add16u(unsigned short const*, unsigned long, unsigned short const*, unsigned long, unsigned short*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::div(carotene_o4t::Size2D const&, signed char const*, long, signed char const*, long, signed char*, long, float, carotene_o4t::CONVERT_POLICY)", referenced from:
      cv::hal::div8s(signed char const*, unsigned long, signed char const*, unsigned long, signed char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::div(carotene_o4t::Size2D const&, float const*, long, float const*, long, float*, long, float)", referenced from:
      cv::hal::div32f(float const*, unsigned long, float const*, unsigned long, float*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::div(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char const*, long, unsigned char*, long, float, carotene_o4t::CONVERT_POLICY)", referenced from:
      cv::hal::div8u(unsigned char const*, unsigned long, unsigned char const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::div(carotene_o4t::Size2D const&, int const*, long, int const*, long, int*, long, float, carotene_o4t::CONVERT_POLICY)", referenced from:
      cv::hal::div32s(int const*, unsigned long, int const*, unsigned long, int*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::div(carotene_o4t::Size2D const&, short const*, long, short const*, long, short*, long, float, carotene_o4t::CONVERT_POLICY)", referenced from:
      cv::hal::div16s(short const*, unsigned long, short const*, unsigned long, short*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::div(carotene_o4t::Size2D const&, unsigned short const*, long, unsigned short const*, long, unsigned short*, long, float, carotene_o4t::CONVERT_POLICY)", referenced from:
      cv::hal::div16u(unsigned short const*, unsigned long, unsigned short const*, unsigned long, unsigned short*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::max(carotene_o4t::Size2D const&, signed char const*, long, signed char const*, long, signed char*, long)", referenced from:
      cv::hal::max8s(signed char const*, unsigned long, signed char const*, unsigned long, signed char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::max(carotene_o4t::Size2D const&, float const*, long, float const*, long, float*, long)", referenced from:
      cv::hal::max32f(float const*, unsigned long, float const*, unsigned long, float*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::max(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char const*, long, unsigned char*, long)", referenced from:
      cv::hal::max8u(unsigned char const*, unsigned long, unsigned char const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::max(carotene_o4t::Size2D const&, int const*, long, int const*, long, int*, long)", referenced from:
      cv::hal::max32s(int const*, unsigned long, int const*, unsigned long, int*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::max(carotene_o4t::Size2D const&, short const*, long, short const*, long, short*, long)", referenced from:
      cv::hal::max16s(short const*, unsigned long, short const*, unsigned long, short*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::max(carotene_o4t::Size2D const&, unsigned short const*, long, unsigned short const*, long, unsigned short*, long)", referenced from:
      cv::hal::max16u(unsigned short const*, unsigned long, unsigned short const*, unsigned long, unsigned short*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::min(carotene_o4t::Size2D const&, signed char const*, long, signed char const*, long, signed char*, long)", referenced from:
      cv::hal::min8s(signed char const*, unsigned long, signed char const*, unsigned long, signed char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::min(carotene_o4t::Size2D const&, float const*, long, float const*, long, float*, long)", referenced from:
      cv::hal::min32f(float const*, unsigned long, float const*, unsigned long, float*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::min(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char const*, long, unsigned char*, long)", referenced from:
      cv::hal::min8u(unsigned char const*, unsigned long, unsigned char const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::min(carotene_o4t::Size2D const&, int const*, long, int const*, long, int*, long)", referenced from:
      cv::hal::min32s(int const*, unsigned long, int const*, unsigned long, int*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::min(carotene_o4t::Size2D const&, short const*, long, short const*, long, short*, long)", referenced from:
      cv::hal::min16s(short const*, unsigned long, short const*, unsigned long, short*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::min(carotene_o4t::Size2D const&, unsigned short const*, long, unsigned short const*, long, unsigned short*, long)", referenced from:
      cv::hal::min16u(unsigned short const*, unsigned long, unsigned short const*, unsigned long, unsigned short*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::mul(carotene_o4t::Size2D const&, signed char const*, long, signed char const*, long, signed char*, long, float, carotene_o4t::CONVERT_POLICY)", referenced from:
      cv::hal::mul8s(signed char const*, unsigned long, signed char const*, unsigned long, signed char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::mul(carotene_o4t::Size2D const&, float const*, long, float const*, long, float*, long, float)", referenced from:
      cv::hal::mul32f(float const*, unsigned long, float const*, unsigned long, float*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::mul(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char const*, long, unsigned char*, long, float, carotene_o4t::CONVERT_POLICY)", referenced from:
      cv::hal::mul8u(unsigned char const*, unsigned long, unsigned char const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::mul(carotene_o4t::Size2D const&, int const*, long, int const*, long, int*, long, double, carotene_o4t::CONVERT_POLICY)", referenced from:
      cv::hal::mul32s(int const*, unsigned long, int const*, unsigned long, int*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::mul(carotene_o4t::Size2D const&, short const*, long, short const*, long, short*, long, float, carotene_o4t::CONVERT_POLICY)", referenced from:
      cv::hal::mul16s(short const*, unsigned long, short const*, unsigned long, short*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::mul(carotene_o4t::Size2D const&, unsigned short const*, long, unsigned short const*, long, unsigned short*, long, float, carotene_o4t::CONVERT_POLICY)", referenced from:
      cv::hal::mul16u(unsigned short const*, unsigned long, unsigned short const*, unsigned long, unsigned short*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::sub(carotene_o4t::Size2D const&, signed char const*, long, signed char const*, long, signed char*, long, carotene_o4t::CONVERT_POLICY)", referenced from:
      cv::hal::sub8s(signed char const*, unsigned long, signed char const*, unsigned long, signed char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::sub(carotene_o4t::Size2D const&, float const*, long, float const*, long, float*, long)", referenced from:
      cv::hal::sub32f(float const*, unsigned long, float const*, unsigned long, float*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::sub(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char const*, long, unsigned char*, long, carotene_o4t::CONVERT_POLICY)", referenced from:
      cv::hal::sub8u(unsigned char const*, unsigned long, unsigned char const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::sub(carotene_o4t::Size2D const&, int const*, long, int const*, long, int*, long, carotene_o4t::CONVERT_POLICY)", referenced from:
      cv::hal::sub32s(int const*, unsigned long, int const*, unsigned long, int*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::sub(carotene_o4t::Size2D const&, short const*, long, short const*, long, short*, long, carotene_o4t::CONVERT_POLICY)", referenced from:
      cv::hal::sub16s(short const*, unsigned long, short const*, unsigned long, short*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::sub(carotene_o4t::Size2D const&, unsigned short const*, long, unsigned short const*, long, unsigned short*, long, carotene_o4t::CONVERT_POLICY)", referenced from:
      cv::hal::sub16u(unsigned short const*, unsigned long, unsigned short const*, unsigned long, unsigned short*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::cmpEQ(carotene_o4t::Size2D const&, signed char const*, long, signed char const*, long, unsigned char*, long)", referenced from:
      cv::hal::cmp8s(signed char const*, unsigned long, signed char const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::cmpEQ(carotene_o4t::Size2D const&, float const*, long, float const*, long, unsigned char*, long)", referenced from:
      cv::hal::cmp32f(float const*, unsigned long, float const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::cmpEQ(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char const*, long, unsigned char*, long)", referenced from:
      cv::hal::cmp8u(unsigned char const*, unsigned long, unsigned char const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::cmpEQ(carotene_o4t::Size2D const&, int const*, long, int const*, long, unsigned char*, long)", referenced from:
      cv::hal::cmp32s(int const*, unsigned long, int const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::cmpEQ(carotene_o4t::Size2D const&, short const*, long, short const*, long, unsigned char*, long)", referenced from:
      cv::hal::cmp16s(short const*, unsigned long, short const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::cmpEQ(carotene_o4t::Size2D const&, unsigned short const*, long, unsigned short const*, long, unsigned char*, long)", referenced from:
      cv::hal::cmp16u(unsigned short const*, unsigned long, unsigned short const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::cmpGE(carotene_o4t::Size2D const&, signed char const*, long, signed char const*, long, unsigned char*, long)", referenced from:
      cv::hal::cmp8s(signed char const*, unsigned long, signed char const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
      cv::hal::cmp8s(signed char const*, unsigned long, signed char const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::cmpGE(carotene_o4t::Size2D const&, float const*, long, float const*, long, unsigned char*, long)", referenced from:
      cv::hal::cmp32f(float const*, unsigned long, float const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
      cv::hal::cmp32f(float const*, unsigned long, float const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::cmpGE(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char const*, long, unsigned char*, long)", referenced from:
      cv::hal::cmp8u(unsigned char const*, unsigned long, unsigned char const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
      cv::hal::cmp8u(unsigned char const*, unsigned long, unsigned char const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::cmpGE(carotene_o4t::Size2D const&, int const*, long, int const*, long, unsigned char*, long)", referenced from:
      cv::hal::cmp32s(int const*, unsigned long, int const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
      cv::hal::cmp32s(int const*, unsigned long, int const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::cmpGE(carotene_o4t::Size2D const&, short const*, long, short const*, long, unsigned char*, long)", referenced from:
      cv::hal::cmp16s(short const*, unsigned long, short const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
      cv::hal::cmp16s(short const*, unsigned long, short const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::cmpGE(carotene_o4t::Size2D const&, unsigned short const*, long, unsigned short const*, long, unsigned char*, long)", referenced from:
      cv::hal::cmp16u(unsigned short const*, unsigned long, unsigned short const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
      cv::hal::cmp16u(unsigned short const*, unsigned long, unsigned short const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::cmpGT(carotene_o4t::Size2D const&, signed char const*, long, signed char const*, long, unsigned char*, long)", referenced from:
      cv::hal::cmp8s(signed char const*, unsigned long, signed char const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
      cv::hal::cmp8s(signed char const*, unsigned long, signed char const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::cmpGT(carotene_o4t::Size2D const&, float const*, long, float const*, long, unsigned char*, long)", referenced from:
      cv::hal::cmp32f(float const*, unsigned long, float const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
      cv::hal::cmp32f(float const*, unsigned long, float const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::cmpGT(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char const*, long, unsigned char*, long)", referenced from:
      cv::hal::cmp8u(unsigned char const*, unsigned long, unsigned char const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
      cv::hal::cmp8u(unsigned char const*, unsigned long, unsigned char const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::cmpGT(carotene_o4t::Size2D const&, int const*, long, int const*, long, unsigned char*, long)", referenced from:
      cv::hal::cmp32s(int const*, unsigned long, int const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
      cv::hal::cmp32s(int const*, unsigned long, int const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::cmpGT(carotene_o4t::Size2D const&, short const*, long, short const*, long, unsigned char*, long)", referenced from:
      cv::hal::cmp16s(short const*, unsigned long, short const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
      cv::hal::cmp16s(short const*, unsigned long, short const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::cmpGT(carotene_o4t::Size2D const&, unsigned short const*, long, unsigned short const*, long, unsigned char*, long)", referenced from:
      cv::hal::cmp16u(unsigned short const*, unsigned long, unsigned short const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
      cv::hal::cmp16u(unsigned short const*, unsigned long, unsigned short const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::cmpNE(carotene_o4t::Size2D const&, signed char const*, long, signed char const*, long, unsigned char*, long)", referenced from:
      cv::hal::cmp8s(signed char const*, unsigned long, signed char const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::cmpNE(carotene_o4t::Size2D const&, float const*, long, float const*, long, unsigned char*, long)", referenced from:
      cv::hal::cmp32f(float const*, unsigned long, float const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::cmpNE(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char const*, long, unsigned char*, long)", referenced from:
      cv::hal::cmp8u(unsigned char const*, unsigned long, unsigned char const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::cmpNE(carotene_o4t::Size2D const&, int const*, long, int const*, long, unsigned char*, long)", referenced from:
      cv::hal::cmp32s(int const*, unsigned long, int const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::cmpNE(carotene_o4t::Size2D const&, short const*, long, short const*, long, unsigned char*, long)", referenced from:
      cv::hal::cmp16s(short const*, unsigned long, short const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::cmpNE(carotene_o4t::Size2D const&, unsigned short const*, long, unsigned short const*, long, unsigned char*, long)", referenced from:
      cv::hal::cmp16u(unsigned short const*, unsigned long, unsigned short const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::phase(carotene_o4t::Size2D const&, float const*, long, float const*, long, float*, long, float)", referenced from:
      TegraRowOp_phase_Invoker<float const, float>::operator()(cv::Range const&) const in libopencv_core.a[40](mathfuncs_core.dispatch.cpp.o)
  "carotene_o4t::split2(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char*, long, unsigned char*, long)", referenced from:
      cv::hal::split8u(unsigned char const*, unsigned char**, int, int) in libopencv_core.a[76](split.dispatch.cpp.o)
  "carotene_o4t::split2(carotene_o4t::Size2D const&, int const*, long, int*, long, int*, long)", referenced from:
      cv::hal::split32s(int const*, int**, int, int) in libopencv_core.a[76](split.dispatch.cpp.o)
  "carotene_o4t::split2(carotene_o4t::Size2D const&, unsigned short const*, long, unsigned short*, long, unsigned short*, long)", referenced from:
      cv::hal::split16u(unsigned short const*, unsigned short**, int, int) in libopencv_core.a[76](split.dispatch.cpp.o)
  "carotene_o4t::split2(carotene_o4t::Size2D const&, long long const*, long, long long*, long, long long*, long)", referenced from:
      TegraRowOp_split2_Invoker<long long const, long long>::operator()(cv::Range const&) const in libopencv_core.a[76](split.dispatch.cpp.o)
  "carotene_o4t::split3(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char*, long, unsigned char*, long, unsigned char*, long)", referenced from:
      cv::hal::split8u(unsigned char const*, unsigned char**, int, int) in libopencv_core.a[76](split.dispatch.cpp.o)
  "carotene_o4t::split3(carotene_o4t::Size2D const&, int const*, long, int*, long, int*, long, int*, long)", referenced from:
      cv::hal::split32s(int const*, int**, int, int) in libopencv_core.a[76](split.dispatch.cpp.o)
  "carotene_o4t::split3(carotene_o4t::Size2D const&, unsigned short const*, long, unsigned short*, long, unsigned short*, long, unsigned short*, long)", referenced from:
      cv::hal::split16u(unsigned short const*, unsigned short**, int, int) in libopencv_core.a[76](split.dispatch.cpp.o)
  "carotene_o4t::split3(carotene_o4t::Size2D const&, long long const*, long, long long*, long, long long*, long, long long*, long)", referenced from:
      TegraRowOp_split3_Invoker<long long const, long long>::operator()(cv::Range const&) const in libopencv_core.a[76](split.dispatch.cpp.o)
  "carotene_o4t::split4(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char*, long, unsigned char*, long, unsigned char*, long, unsigned char*, long)", referenced from:
      cv::hal::split8u(unsigned char const*, unsigned char**, int, int) in libopencv_core.a[76](split.dispatch.cpp.o)
  "carotene_o4t::split4(carotene_o4t::Size2D const&, int const*, long, int*, long, int*, long, int*, long, int*, long)", referenced from:
      cv::hal::split32s(int const*, int**, int, int) in libopencv_core.a[76](split.dispatch.cpp.o)
  "carotene_o4t::split4(carotene_o4t::Size2D const&, unsigned short const*, long, unsigned short*, long, unsigned short*, long, unsigned short*, long, unsigned short*, long)", referenced from:
      cv::hal::split16u(unsigned short const*, unsigned short**, int, int) in libopencv_core.a[76](split.dispatch.cpp.o)
  "carotene_o4t::split4(carotene_o4t::Size2D const&, long long const*, long, long long*, long, long long*, long, long long*, long, long long*, long)", referenced from:
      TegraRowOp_split4_Invoker<long long const, long long>::operator()(cv::Range const&) const in libopencv_core.a[76](split.dispatch.cpp.o)
  "carotene_o4t::absDiff(carotene_o4t::Size2D const&, signed char const*, long, signed char const*, long, signed char*, long)", referenced from:
      cv::hal::absdiff8s(signed char const*, unsigned long, signed char const*, unsigned long, signed char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::absDiff(carotene_o4t::Size2D const&, float const*, long, float const*, long, float*, long)", referenced from:
      cv::hal::absdiff32f(float const*, unsigned long, float const*, unsigned long, float*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::absDiff(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char const*, long, unsigned char*, long)", referenced from:
      cv::hal::absdiff8u(unsigned char const*, unsigned long, unsigned char const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::absDiff(carotene_o4t::Size2D const&, int const*, long, int const*, long, int*, long)", referenced from:
      cv::hal::absdiff32s(int const*, unsigned long, int const*, unsigned long, int*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::absDiff(carotene_o4t::Size2D const&, short const*, long, short const*, long, short*, long)", referenced from:
      cv::hal::absdiff16s(short const*, unsigned long, short const*, unsigned long, short*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::absDiff(carotene_o4t::Size2D const&, unsigned short const*, long, unsigned short const*, long, unsigned short*, long)", referenced from:
      cv::hal::absdiff16u(unsigned short const*, unsigned long, unsigned short const*, unsigned long, unsigned short*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::bgr2hsv(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char*, long, int)", referenced from:
      TegraCvtColor_bgr2hsvf_Invoker::operator()(cv::Range const&) const in libopencv_imgproc.a[11](color_hsv.dispatch.cpp.o)
      TegraCvtColor_bgr2hsv_Invoker::operator()(cv::Range const&) const in libopencv_imgproc.a[11](color_hsv.dispatch.cpp.o)
  "carotene_o4t::convert(carotene_o4t::Size2D const&, signed char const*, long, short*, long)", referenced from:
      TEGRA_FILTERINIT(cvhalFilter2D**, unsigned char*, unsigned long, int, int, int, int, int, int, int, int, double, int, int, bool, bool) in libopencv_imgproc.a[32](filter.dispatch.cpp.o)
  "carotene_o4t::convert(carotene_o4t::Size2D const&, unsigned char const*, long, short*, long)", referenced from:
      TEGRA_FILTERINIT(cvhalFilter2D**, unsigned char*, unsigned long, int, int, int, int, int, int, int, int, double, int, int, bool, bool) in libopencv_imgproc.a[32](filter.dispatch.cpp.o)
  "carotene_o4t::rgb2bgr(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char*, long)", referenced from:
      TegraCvtColor_rgb2bgr_Invoker::operator()(cv::Range const&) const in libopencv_imgproc.a[13](color_rgb.dispatch.cpp.o)
  "carotene_o4t::rgb2hsv(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char*, long, int)", referenced from:
      TegraCvtColor_rgb2hsvf_Invoker::operator()(cv::Range const&) const in libopencv_imgproc.a[11](color_hsv.dispatch.cpp.o)
      TegraCvtColor_rgb2hsv_Invoker::operator()(cv::Range const&) const in libopencv_imgproc.a[11](color_hsv.dispatch.cpp.o)
  "carotene_o4t::bgr2gray(carotene_o4t::Size2D const&, carotene_o4t::COLOR_SPACE, unsigned char const*, long, unsigned char*, long)", referenced from:
      TegraCvtColor_bgr2gray_Invoker::operator()(cv::Range const&) const in libopencv_imgproc.a[13](color_rgb.dispatch.cpp.o)
  "carotene_o4t::bgrx2hsv(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char*, long, int)", referenced from:
      TegraCvtColor_bgrx2hsvf_Invoker::operator()(cv::Range const&) const in libopencv_imgproc.a[11](color_hsv.dispatch.cpp.o)
      TegraCvtColor_bgrx2hsv_Invoker::operator()(cv::Range const&) const in libopencv_imgproc.a[11](color_hsv.dispatch.cpp.o)
  "carotene_o4t::combine2(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char const*, long, unsigned char*, long)", referenced from:
      cv::hal::merge8u(unsigned char const**, unsigned char*, int, int) in libopencv_core.a[52](merge.dispatch.cpp.o)
  "carotene_o4t::combine2(carotene_o4t::Size2D const&, int const*, long, int const*, long, int*, long)", referenced from:
      cv::hal::merge32s(int const**, int*, int, int) in libopencv_core.a[52](merge.dispatch.cpp.o)
  "carotene_o4t::combine2(carotene_o4t::Size2D const&, unsigned short const*, long, unsigned short const*, long, unsigned short*, long)", referenced from:
      cv::hal::merge16u(unsigned short const**, unsigned short*, int, int) in libopencv_core.a[52](merge.dispatch.cpp.o)
  "carotene_o4t::combine2(carotene_o4t::Size2D const&, long long const*, long, long long const*, long, long long*, long)", referenced from:
      TegraRowOp_combine2_Invoker<long long const, long long>::operator()(cv::Range const&) const in libopencv_core.a[52](merge.dispatch.cpp.o)
  "carotene_o4t::combine3(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char const*, long, unsigned char const*, long, unsigned char*, long)", referenced from:
      cv::hal::merge8u(unsigned char const**, unsigned char*, int, int) in libopencv_core.a[52](merge.dispatch.cpp.o)
  "carotene_o4t::combine3(carotene_o4t::Size2D const&, int const*, long, int const*, long, int const*, long, int*, long)", referenced from:
      cv::hal::merge32s(int const**, int*, int, int) in libopencv_core.a[52](merge.dispatch.cpp.o)
  "carotene_o4t::combine3(carotene_o4t::Size2D const&, unsigned short const*, long, unsigned short const*, long, unsigned short const*, long, unsigned short*, long)", referenced from:
      cv::hal::merge16u(unsigned short const**, unsigned short*, int, int) in libopencv_core.a[52](merge.dispatch.cpp.o)
  "carotene_o4t::combine3(carotene_o4t::Size2D const&, long long const*, long, long long const*, long, long long const*, long, long long*, long)", referenced from:
      TegraRowOp_combine3_Invoker<long long const, long long>::operator()(cv::Range const&) const in libopencv_core.a[52](merge.dispatch.cpp.o)
  "carotene_o4t::combine4(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char const*, long, unsigned char const*, long, unsigned char const*, long, unsigned char*, long)", referenced from:
      cv::hal::merge8u(unsigned char const**, unsigned char*, int, int) in libopencv_core.a[52](merge.dispatch.cpp.o)
  "carotene_o4t::combine4(carotene_o4t::Size2D const&, int const*, long, int const*, long, int const*, long, int const*, long, int*, long)", referenced from:
      cv::hal::merge32s(int const**, int*, int, int) in libopencv_core.a[52](merge.dispatch.cpp.o)
  "carotene_o4t::combine4(carotene_o4t::Size2D const&, unsigned short const*, long, unsigned short const*, long, unsigned short const*, long, unsigned short const*, long, unsigned short*, long)", referenced from:
      cv::hal::merge16u(unsigned short const**, unsigned short*, int, int) in libopencv_core.a[52](merge.dispatch.cpp.o)
  "carotene_o4t::combine4(carotene_o4t::Size2D const&, long long const*, long, long long const*, long, long long const*, long, long long const*, long, long long*, long)", referenced from:
      TegraRowOp_combine4_Invoker<long long const, long long>::operator()(cv::Range const&) const in libopencv_core.a[52](merge.dispatch.cpp.o)
  "carotene_o4t::gray2rgb(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char*, long)", referenced from:
      TegraCvtColor_gray2rgb_Invoker::operator()(cv::Range const&) const in libopencv_imgproc.a[13](color_rgb.dispatch.cpp.o)
  "carotene_o4t::rgb2bgrx(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char*, long)", referenced from:
      TegraCvtColor_rgb2bgrx_Invoker::operator()(cv::Range const&) const in libopencv_imgproc.a[13](color_rgb.dispatch.cpp.o)
  "carotene_o4t::rgb2gray(carotene_o4t::Size2D const&, carotene_o4t::COLOR_SPACE, unsigned char const*, long, unsigned char*, long)", referenced from:
      TegraCvtColor_rgb2gray_Invoker::operator()(cv::Range const&) const in libopencv_imgproc.a[13](color_rgb.dispatch.cpp.o)
  "carotene_o4t::rgb2rgbx(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char*, long)", referenced from:
      TegraCvtColor_rgb2rgbx_Invoker::operator()(cv::Range const&) const in libopencv_imgproc.a[13](color_rgb.dispatch.cpp.o)
  "carotene_o4t::rgbx2bgr(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char*, long)", referenced from:
      TegraCvtColor_rgbx2bgr_Invoker::operator()(cv::Range const&) const in libopencv_imgproc.a[13](color_rgb.dispatch.cpp.o)
  "carotene_o4t::rgbx2hsv(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char*, long, int)", referenced from:
      TegraCvtColor_rgbx2hsvf_Invoker::operator()(cv::Range const&) const in libopencv_imgproc.a[11](color_hsv.dispatch.cpp.o)
      TegraCvtColor_rgbx2hsv_Invoker::operator()(cv::Range const&) const in libopencv_imgproc.a[11](color_hsv.dispatch.cpp.o)
  "carotene_o4t::rgbx2rgb(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char*, long)", referenced from:
      TegraCvtColor_rgbx2rgb_Invoker::operator()(cv::Range const&) const in libopencv_imgproc.a[13](color_rgb.dispatch.cpp.o)
  "carotene_o4t::bgrx2gray(carotene_o4t::Size2D const&, carotene_o4t::COLOR_SPACE, unsigned char const*, long, unsigned char*, long)", referenced from:
      TegraCvtColor_bgrx2gray_Invoker::operator()(cv::Range const&) const in libopencv_imgproc.a[13](color_rgb.dispatch.cpp.o)
  "carotene_o4t::bitwiseOr(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char const*, long, unsigned char*, long)", referenced from:
      cv::hal::or8u(unsigned char const*, unsigned long, unsigned char const*, unsigned long, unsigned char*, unsigned long, int, int, void*) in libopencv_core.a[5](arithm.dispatch.cpp.o)
  "carotene_o4t::gray2rgbx(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char*, long)", referenced from:
      TegraCvtColor_gray2rgbx_Invoker::operator()(cv::Range const&) const in libopencv_imgproc.a[13](color_rgb.dispatch.cpp.o)
  "carotene_o4t::magnitude(carotene_o4t::Size2D const&, float const*, long, float const*, long, float*, long)", referenced from:
      TegraRowOp_magnitude_Invoker<float const, float>::operator()(cv::Range const&) const in libopencv_core.a[40](mathfuncs_core.dispatch.cpp.o)
  "carotene_o4t::rgbx2bgrx(carotene_o4t::Size2D const&, unsigned char const*, long, unsigned char*, long)", referenced from:
      TegraCvtColor_rgbx2bgrx_Invoker::operator()(cv::Range const&) const in libopencv_imgproc.a[13](color_rgb.dispatch.cpp.o)
  "carotene_o4t::rgbx2gray(carotene_o4t::Size2D const&, carotene_o4t::COLOR_SPACE, unsigned char const*, long, unsigned char*, long)", referenced from:
      TegraCvtColor_rgbx2gray_Invoker::operator()(cv::Range const&) const in libopencv_imgproc.a[13](color_rgb.dispatch.cpp.o)
  "google::protobuf::TextFormat::PrintToString(google::protobuf::Message const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*)", referenced from:
      cv::dnn::dnn4_v20240521::writeTextGraph(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) in libopencv_dnn.a[120](tf_importer.cpp.o)
  "google::protobuf::TextFormat::Parser::Parse(google::protobuf::io::ZeroCopyInputStream*, google::protobuf::Message*)", referenced from:
      cv::dnn::ReadProtoFromTextFile(char const*, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadProtoFromTextBuffer(char const*, unsigned long, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadNetParamsFromTextBufferOrDie(char const*, unsigned long, opencv_caffe::NetParameter*) in libopencv_dnn.a[14](caffe_io.cpp.o)
  "google::protobuf::TextFormat::Parser::Parser()", referenced from:
      cv::dnn::ReadProtoFromTextFile(char const*, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadProtoFromTextBuffer(char const*, unsigned long, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadNetParamsFromTextBufferOrDie(char const*, unsigned long, opencv_caffe::NetParameter*) in libopencv_dnn.a[14](caffe_io.cpp.o)
  "google::protobuf::TextFormat::Parser::~Parser()", referenced from:
      cv::dnn::ReadProtoFromTextFile(char const*, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadProtoFromTextFile(char const*, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadProtoFromTextBuffer(char const*, unsigned long, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadProtoFromTextBuffer(char const*, unsigned long, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadNetParamsFromTextBufferOrDie(char const*, unsigned long, opencv_caffe::NetParameter*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadNetParamsFromTextBufferOrDie(char const*, unsigned long, opencv_caffe::NetParameter*) in libopencv_dnn.a[14](caffe_io.cpp.o)
  "google::protobuf::MessageLite::ParseFromIstream(std::__1::basic_istream<char, std::__1::char_traits<char>>*)", referenced from:
      cv::dnn::dnn4_v20240521::ONNXImporter::ONNXImporter(cv::dnn::dnn4_v20240521::Net&, char const*) in libopencv_dnn.a[110](onnx_importer.cpp.o)
      cv::dnn::dnn4_v20240521::ONNXImporter::ONNXImporter(cv::dnn::dnn4_v20240521::Net&, char const*, unsigned long) in libopencv_dnn.a[110](onnx_importer.cpp.o)
      cv::dnn::dnn4_v20240521::readTensorFromONNX(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) in libopencv_dnn.a[110](onnx_importer.cpp.o)
  "google::protobuf::MessageLite::ParseFromCodedStream(google::protobuf::io::CodedInputStream*)", referenced from:
      cv::dnn::ReadProtoFromBinary(google::protobuf::io::ZeroCopyInputStream*, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadProtoFromBinaryFile(char const*, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadProtoFromBinaryBuffer(char const*, unsigned long, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
  "google::protobuf::RepeatedField<bool>::Reserve(int)", referenced from:
      opencv_caffe::LayerParameter::LayerParameter(opencv_caffe::LayerParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::LayerParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::LayerParameter::MergeFrom(opencv_caffe::LayerParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_tensorflow::AttrValue_ListValue::AttrValue_ListValue(opencv_tensorflow::AttrValue_ListValue const&) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::AttrValue_ListValue::_internal_add_b(bool) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::AttrValue_ListValue::MergeFrom(opencv_tensorflow::AttrValue_ListValue const&) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::TensorProto::TensorProto(opencv_tensorflow::TensorProto const&) in libopencv_dnn.a[8](tensor.pb.cc.o)
      ...
  "google::protobuf::RepeatedField<bool>::~RepeatedField()", referenced from:
      opencv_caffe::LayerParameter::LayerParameter(opencv_caffe::LayerParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::LayerParameter::~LayerParameter() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_tensorflow::AttrValue_ListValue::AttrValue_ListValue(opencv_tensorflow::AttrValue_ListValue const&) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::AttrValue_ListValue::~AttrValue_ListValue() in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::TensorProto::TensorProto(opencv_tensorflow::TensorProto const&) in libopencv_dnn.a[8](tensor.pb.cc.o)
      opencv_tensorflow::TensorProto::~TensorProto() in libopencv_dnn.a[8](tensor.pb.cc.o)
  "google::protobuf::RepeatedField<double>::Reserve(int)", referenced from:
      opencv_caffe::BlobProto::BlobProto(opencv_caffe::BlobProto const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::BlobProto(opencv_caffe::BlobProto const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::_internal_add_double_data(double) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::_internal_add_double_diff(double) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::MergeFrom(opencv_caffe::BlobProto const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::MergeFrom(opencv_caffe::BlobProto const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_onnx::TensorProto::MergeFrom(opencv_onnx::TensorProto const&) in libopencv_dnn.a[3](opencv-onnx.pb.cc.o)
      ...
  "google::protobuf::RepeatedField<double>::~RepeatedField()", referenced from:
      opencv_caffe::BlobProto::BlobProto(opencv_caffe::BlobProto const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::BlobProto(opencv_caffe::BlobProto const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::~BlobProto() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::~BlobProto() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_onnx::TensorProto::TensorProto(opencv_onnx::TensorProto const&) in libopencv_dnn.a[3](opencv-onnx.pb.cc.o)
      opencv_onnx::TensorProto::~TensorProto() in libopencv_dnn.a[3](opencv-onnx.pb.cc.o)
      opencv_tensorflow::TensorProto::TensorProto(opencv_tensorflow::TensorProto const&) in libopencv_dnn.a[8](tensor.pb.cc.o)
      opencv_tensorflow::TensorProto::TensorProto(opencv_tensorflow::TensorProto const&) in libopencv_dnn.a[8](tensor.pb.cc.o)
      ...
  "google::protobuf::RepeatedField<float>::Reserve(int)", referenced from:
      opencv_caffe::BlobProto::BlobProto(opencv_caffe::BlobProto const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::BlobProto(opencv_caffe::BlobProto const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::_internal_add_data(float) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::_internal_add_diff(float) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::MergeFrom(opencv_caffe::BlobProto const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::MergeFrom(opencv_caffe::BlobProto const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::PriorBoxParameter(opencv_caffe::PriorBoxParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::PriorBoxParameter(opencv_caffe::PriorBoxParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::PriorBoxParameter(opencv_caffe::PriorBoxParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::PriorBoxParameter(opencv_caffe::PriorBoxParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::PriorBoxParameter(opencv_caffe::PriorBoxParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::PriorBoxParameter(opencv_caffe::PriorBoxParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::PriorBoxParameter(opencv_caffe::PriorBoxParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::PriorBoxParameter(opencv_caffe::PriorBoxParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::RepeatedField<float>::~RepeatedField()", referenced from:
      opencv_caffe::BlobProto::BlobProto(opencv_caffe::BlobProto const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::BlobProto(opencv_caffe::BlobProto const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::~BlobProto() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::~BlobProto() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::PriorBoxParameter(opencv_caffe::PriorBoxParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::PriorBoxParameter(opencv_caffe::PriorBoxParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::PriorBoxParameter(opencv_caffe::PriorBoxParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::PriorBoxParameter(opencv_caffe::PriorBoxParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::PriorBoxParameter(opencv_caffe::PriorBoxParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::PriorBoxParameter(opencv_caffe::PriorBoxParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::PriorBoxParameter(opencv_caffe::PriorBoxParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::PriorBoxParameter(opencv_caffe::PriorBoxParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::PriorBoxParameter(opencv_caffe::PriorBoxParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::RepeatedField<int>::Reserve(int)", referenced from:
      opencv_caffe::NetParameter::NetParameter(opencv_caffe::NetParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetParameter::MergeFrom(opencv_caffe::NetParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::SolverParameter(opencv_caffe::SolverParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::SolverParameter(opencv_caffe::SolverParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::RepeatedField<int>::~RepeatedField()", referenced from:
      opencv_caffe::NetParameter::NetParameter(opencv_caffe::NetParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetParameter::~NetParameter() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::SolverParameter(opencv_caffe::SolverParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::SolverParameter(opencv_caffe::SolverParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::~SolverParameter() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::~SolverParameter() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::V1LayerParameter::V1LayerParameter(opencv_caffe::V1LayerParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::RepeatedField<unsigned int>::Reserve(int)", referenced from:
      opencv_caffe::PermuteParameter::PermuteParameter(opencv_caffe::PermuteParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PermuteParameter::PermuteParameter(opencv_caffe::PermuteParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PermuteParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PermuteParameter::MergeImpl(google::protobuf::Message*, google::protobuf::Message const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PermuteParameter::MergeFrom(opencv_caffe::PermuteParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PermuteParameter::CopyFrom(opencv_caffe::PermuteParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SliceParameter::SliceParameter(opencv_caffe::SliceParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::RepeatedField<unsigned int>::~RepeatedField()", referenced from:
      opencv_caffe::PermuteParameter::PermuteParameter(opencv_caffe::PermuteParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PermuteParameter::PermuteParameter(opencv_caffe::PermuteParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PermuteParameter::~PermuteParameter() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PermuteParameter::~PermuteParameter() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PermuteParameter::~PermuteParameter() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SliceParameter::SliceParameter(opencv_caffe::SliceParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::CropParameter::CropParameter(opencv_caffe::CropParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::RepeatedField<long long>::Reserve(int)", referenced from:
      opencv_caffe::BlobShape::BlobShape(opencv_caffe::BlobShape const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobShape::BlobShape(opencv_caffe::BlobShape const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobShape::_internal_add_dim(long long) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobShape::MergeImpl(google::protobuf::Message*, google::protobuf::Message const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobShape::MergeFrom(opencv_caffe::BlobShape const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobShape::CopyFrom(opencv_caffe::BlobShape const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::MergeFrom(opencv_caffe::BlobProto const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::RepeatedField<long long>::~RepeatedField()", referenced from:
      opencv_caffe::BlobShape::BlobShape(opencv_caffe::BlobShape const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobShape::BlobShape(opencv_caffe::BlobShape const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobShape::~BlobShape() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobShape::~BlobShape() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobShape::~BlobShape() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::SharedDtor() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::ParameterParameter::~ParameterParameter() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::RepeatedField<unsigned long long>::Reserve(int)", referenced from:
      opencv_onnx::TensorProto::MergeFrom(opencv_onnx::TensorProto const&) in libopencv_dnn.a[3](opencv-onnx.pb.cc.o)
      opencv_onnx::TensorProto::TensorProto(opencv_onnx::TensorProto const&) in libopencv_dnn.a[3](opencv-onnx.pb.cc.o)
      opencv_onnx::TensorProto::_internal_add_uint64_data(unsigned long long) in libopencv_dnn.a[3](opencv-onnx.pb.cc.o)
  "google::protobuf::RepeatedField<unsigned long long>::~RepeatedField()", referenced from:
      opencv_onnx::TensorProto::TensorProto(opencv_onnx::TensorProto const&) in libopencv_dnn.a[3](opencv-onnx.pb.cc.o)
      opencv_onnx::TensorProto::~TensorProto() in libopencv_dnn.a[3](opencv-onnx.pb.cc.o)
  "google::protobuf::FieldDescriptor::kTypeToName", referenced from:
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
  "google::protobuf::FieldDescriptor::TypeOnceInit(google::protobuf::FieldDescriptor const*)", referenced from:
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
  "google::protobuf::FieldDescriptor::kCppTypeToName", referenced from:
      google::protobuf::MapKey::GetStringValue() const in libopencv_dnn.a[4](attr_value.pb.cc.o)
  "google::protobuf::FieldDescriptor::kTypeToCppTypeMap", referenced from:
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
  "google::protobuf::UnknownFieldSet::ClearFallback()", referenced from:
      void google::protobuf::internal::arena_destruct_object<google::protobuf::internal::InternalMetadata::Container<google::protobuf::UnknownFieldSet>>(void*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      void google::protobuf::internal::InternalMetadata::DeleteOutOfLineHelper<google::protobuf::UnknownFieldSet>() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      void google::protobuf::internal::InternalMetadata::DoClear<google::protobuf::UnknownFieldSet>() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
  "google::protobuf::UnknownFieldSet::AddVarint(int, unsigned long long)", referenced from:
      opencv_caffe::BlobProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::DetectionOutputParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::FillerParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetState::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetStateRule::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::ParamSpec::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::UnknownFieldSet::MergeFrom(google::protobuf::UnknownFieldSet const&)", referenced from:
      void google::protobuf::internal::InternalMetadata::DoMergeFrom<google::protobuf::UnknownFieldSet>(google::protobuf::UnknownFieldSet const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      void google::protobuf::internal::InternalMetadata::DoMergeFrom<google::protobuf::UnknownFieldSet>(google::protobuf::UnknownFieldSet const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
  "google::protobuf::RepeatedPtrField<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>::~RepeatedPtrField()", referenced from:
      opencv_caffe::NetParameter::NetParameter(opencv_caffe::NetParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetParameter::~NetParameter() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetParameter::SharedDtor() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::SolverParameter(opencv_caffe::SolverParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::~SolverParameter() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::SharedDtor() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetState::NetState(opencv_caffe::NetState const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::stringpiece_internal::StringPiece::LogFatalSizeTooBig(unsigned long, char const*)", referenced from:
      opencv_tensorflow::AttrValue::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::NameAttrList::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::FunctionDef_Node::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[5](function.pb.cc.o)
      opencv_tensorflow::FunctionDef_Node::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[5](function.pb.cc.o)
      opencv_tensorflow::FunctionDef_Node::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[5](function.pb.cc.o)
      opencv_tensorflow::FunctionDef_Node::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[5](function.pb.cc.o)
      opencv_tensorflow::GradientDef::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[5](function.pb.cc.o)
      opencv_tensorflow::GradientDef::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[5](function.pb.cc.o)
      ...
  "google::protobuf::ShutdownProtobufLibrary()", referenced from:
      cv::dnn::dnn4_v20240521::(anonymous namespace)::ProtobufShutdown::~ProtobufShutdown() in libopencv_dnn.a[26](init.cpp.o)
  "google::protobuf::io::ArrayInputStream::ArrayInputStream(void const*, int, int)", referenced from:
      cv::dnn::ReadProtoFromTextBuffer(char const*, unsigned long, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadProtoFromBinaryBuffer(char const*, unsigned long, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadNetParamsFromTextBufferOrDie(char const*, unsigned long, opencv_caffe::NetParameter*) in libopencv_dnn.a[14](caffe_io.cpp.o)
  "google::protobuf::io::CodedInputStream::SetTotalBytesLimit(int)", referenced from:
      cv::dnn::ReadProtoFromBinary(google::protobuf::io::ZeroCopyInputStream*, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadProtoFromBinaryFile(char const*, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadProtoFromBinaryBuffer(char const*, unsigned long, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
  "google::protobuf::io::CodedInputStream::default_recursion_limit_", referenced from:
      cv::dnn::ReadProtoFromBinary(google::protobuf::io::ZeroCopyInputStream*, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadProtoFromBinaryFile(char const*, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadProtoFromBinaryBuffer(char const*, unsigned long, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
  "google::protobuf::io::CodedInputStream::Refresh()", referenced from:
      cv::dnn::ReadProtoFromBinary(google::protobuf::io::ZeroCopyInputStream*, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadProtoFromBinaryFile(char const*, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadProtoFromBinaryBuffer(char const*, unsigned long, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
  "google::protobuf::io::CodedInputStream::~CodedInputStream()", referenced from:
      cv::dnn::ReadProtoFromBinary(google::protobuf::io::ZeroCopyInputStream*, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadProtoFromBinary(google::protobuf::io::ZeroCopyInputStream*, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadProtoFromBinaryFile(char const*, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadProtoFromBinaryFile(char const*, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadProtoFromBinaryBuffer(char const*, unsigned long, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadProtoFromBinaryBuffer(char const*, unsigned long, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
  "google::protobuf::io::CodedOutputStream::WriteVarint32ToArrayOutOfLineHelper(unsigned int, unsigned char*)", referenced from:
      opencv_caffe::BlobProto::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProtoVector::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NormalizeBBoxParameter::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::DetectionOutputParameter::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::DetectionOutputParameter::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetParameter::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetParameter::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetParameter::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetParameter::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::io::IstreamInputStream::CopyingIstreamInputStream::~CopyingIstreamInputStream()", referenced from:
      cv::dnn::ReadProtoFromTextFile(char const*, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadProtoFromTextFile(char const*, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadProtoFromBinaryFile(char const*, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadProtoFromBinaryFile(char const*, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
  "google::protobuf::io::IstreamInputStream::IstreamInputStream(std::__1::basic_istream<char, std::__1::char_traits<char>>*, int)", referenced from:
      cv::dnn::ReadProtoFromTextFile(char const*, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadProtoFromBinaryFile(char const*, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
  "google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)", referenced from:
      opencv_caffe::BlobProto::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_onnx::TensorProto::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[3](opencv-onnx.pb.cc.o)
      opencv_onnx::TensorProto::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[3](opencv-onnx.pb.cc.o)
      opencv_tensorflow::AttrValue_ListValue::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::AttrValue_ListValue::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      ...
  "google::protobuf::io::EpsCopyOutputStream::WriteStringOutline(unsigned int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, unsigned char*)", referenced from:
      opencv_caffe::NetParameter::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetState::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetStateRule::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetStateRule::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::LayerParameter::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::LayerParameter::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)", referenced from:
      opencv_caffe::BlobShape::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobShape::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::io::EpsCopyOutputStream::WriteStringMaybeAliasedOutline(unsigned int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, unsigned char*)", referenced from:
      opencv_caffe::BlobProto::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::Datum::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::FillerParameter::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetParameter::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::io::CopyingInputStreamAdaptor::~CopyingInputStreamAdaptor()", referenced from:
      cv::dnn::ReadProtoFromTextFile(char const*, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadProtoFromTextFile(char const*, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadProtoFromBinaryFile(char const*, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadProtoFromBinaryFile(char const*, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
  "google::protobuf::Arena::AllocateAlignedWithHook(unsigned long, std::type_info const*)", referenced from:
      opencv_caffe::BlobShape* google::protobuf::Arena::CreateMaybeMessage<opencv_caffe::BlobShape>(google::protobuf::Arena*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto* google::protobuf::Arena::CreateMaybeMessage<opencv_caffe::BlobProto>(google::protobuf::Arena*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProtoVector* google::protobuf::Arena::CreateMaybeMessage<opencv_caffe::BlobProtoVector>(google::protobuf::Arena*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PermuteParameter* google::protobuf::Arena::CreateMaybeMessage<opencv_caffe::PermuteParameter>(google::protobuf::Arena*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NormalizeBBoxParameter* google::protobuf::Arena::CreateMaybeMessage<opencv_caffe::NormalizeBBoxParameter>(google::protobuf::Arena*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter* google::protobuf::Arena::CreateMaybeMessage<opencv_caffe::PriorBoxParameter>(google::protobuf::Arena*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::DetectionOutputParameter* google::protobuf::Arena::CreateMaybeMessage<opencv_caffe::DetectionOutputParameter>(google::protobuf::Arena*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::Arena::AllocateAlignedWithCleanup(unsigned long, std::type_info const*)", referenced from:
      opencv_caffe::NetParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetState::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetStateRule::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetStateRule::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::LayerParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::LayerParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::Message::CopyWithSizeCheck(google::protobuf::Message*, google::protobuf::Message const&)", referenced from:
      opencv_caffe::BlobShape::_class_data_ in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::_class_data_ in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProtoVector::_class_data_ in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PermuteParameter::_class_data_ in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NormalizeBBoxParameter::_class_data_ in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::_class_data_ in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::DetectionOutputParameter::_class_data_ in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::Message::CheckTypeAndMergeFrom(google::protobuf::MessageLite const&)", referenced from:
      vtable for opencv_caffe::BlobShape in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::BlobProto in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::BlobProtoVector in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::PermuteParameter in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::NormalizeBBoxParameter in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::PriorBoxParameter in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::DetectionOutputParameter in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::Message::CopyFrom(google::protobuf::Message const&)", referenced from:
      vtable for opencv_caffe::BlobShape in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::BlobProto in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::BlobProtoVector in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::PermuteParameter in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::NormalizeBBoxParameter in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::PriorBoxParameter in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::DetectionOutputParameter in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::Message::MergeFrom(google::protobuf::Message const&)", referenced from:
      vtable for opencv_caffe::BlobShape in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::BlobProto in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::BlobProtoVector in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::PermuteParameter in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::NormalizeBBoxParameter in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::PriorBoxParameter in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::DetectionOutputParameter in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::internal::LogMessage::LogMessage(google::protobuf::LogLevel, char const*, int)", referenced from:
      google::protobuf::internal::MapField<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::SyncMapWithRepeatedFieldNoLock() const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::MapKey::GetStringValue() const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::MapKey::type() const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::internal::MapField<opencv_tensorflow::FunctionDef_Node_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::SyncMapWithRepeatedFieldNoLock() const in libopencv_dnn.a[5](function.pb.cc.o)
      google::protobuf::internal::MapField<opencv_tensorflow::NodeDef_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::SyncMapWithRepeatedFieldNoLock() const in libopencv_dnn.a[6](graph.pb.cc.o)
      opencv_tensorflow::AttrValue const& google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue>::at<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) const in libopencv_dnn.a[119](tf_graph_simplifier.cpp.o)
      opencv_tensorflow::AttrValue& google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue>::at<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) in libopencv_dnn.a[119](tf_graph_simplifier.cpp.o)
      ...
  "google::protobuf::internal::LogMessage::~LogMessage()", referenced from:
      google::protobuf::internal::MapField<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::SyncMapWithRepeatedFieldNoLock() const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::internal::MapField<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::SyncMapWithRepeatedFieldNoLock() const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::MapKey::GetStringValue() const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::MapKey::GetStringValue() const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::MapKey::type() const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::MapKey::type() const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::internal::MapField<opencv_tensorflow::FunctionDef_Node_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::SyncMapWithRepeatedFieldNoLock() const in libopencv_dnn.a[5](function.pb.cc.o)
      google::protobuf::internal::MapField<opencv_tensorflow::FunctionDef_Node_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::SyncMapWithRepeatedFieldNoLock() const in libopencv_dnn.a[5](function.pb.cc.o)
      ...
  "google::protobuf::internal::LogMessage::operator<<(char const*)", referenced from:
      google::protobuf::internal::MapField<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::SyncMapWithRepeatedFieldNoLock() const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::MapKey::GetStringValue() const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::MapKey::GetStringValue() const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::MapKey::GetStringValue() const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::MapKey::GetStringValue() const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::MapKey::GetStringValue() const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::MapKey::GetStringValue() const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::MapKey::GetStringValue() const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::MapKey::GetStringValue() const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      ...
  "google::protobuf::internal::LogMessage::operator<<(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)", referenced from:
      opencv_tensorflow::AttrValue const& google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue>::at<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) const in libopencv_dnn.a[119](tf_graph_simplifier.cpp.o)
      opencv_tensorflow::AttrValue& google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue>::at<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) in libopencv_dnn.a[119](tf_graph_simplifier.cpp.o)
  "google::protobuf::internal::NameOfEnum(google::protobuf::EnumDescriptor const*, int)", referenced from:
      cv::dnn::dnn4_v20240521::getMatFromTensor(opencv_onnx::TensorProto const&) in libopencv_dnn.a[109](onnx_graph_simplifier.cpp.o)
  "google::protobuf::internal::VerifyUTF8(google::protobuf::stringpiece_internal::StringPiece, char const*)", referenced from:
      opencv_tensorflow::AttrValue::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::NameAttrList::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::FunctionDef_Node::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[5](function.pb.cc.o)
      opencv_tensorflow::FunctionDef_Node::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[5](function.pb.cc.o)
      opencv_tensorflow::FunctionDef_Node::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[5](function.pb.cc.o)
      opencv_tensorflow::FunctionDef_Node::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[5](function.pb.cc.o)
      opencv_tensorflow::GradientDef::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[5](function.pb.cc.o)
      opencv_tensorflow::GradientDef::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[5](function.pb.cc.o)
      ...
  "google::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(google::protobuf::UnknownFieldSet const&, unsigned char*, google::protobuf::io::EpsCopyOutputStream*)", referenced from:
      opencv_caffe::BlobShape::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProtoVector::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PermuteParameter::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NormalizeBBoxParameter::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::DetectionOutputParameter::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::internal::GenericSwap(google::protobuf::Message*, google::protobuf::Message*)", referenced from:
      google::protobuf::internal::MoveHelper<false, true, true, opencv_tensorflow::AttrValue>::Move(opencv_tensorflow::AttrValue*, opencv_tensorflow::AttrValue*) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::internal::MapEntryImpl<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, google::protobuf::Message, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::Parser<google::protobuf::internal::MapFieldLite<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>, google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue>>::UseKeyAndValueFromEntry() in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::internal::MapEntryImpl<opencv_tensorflow::FunctionDef_Node_AttrEntry_DoNotUse, google::protobuf::Message, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::Parser<google::protobuf::internal::MapFieldLite<opencv_tensorflow::FunctionDef_Node_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>, google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue>>::UseKeyAndValueFromEntry() in libopencv_dnn.a[5](function.pb.cc.o)
      google::protobuf::internal::MapEntryImpl<opencv_tensorflow::NodeDef_AttrEntry_DoNotUse, google::protobuf::Message, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::Parser<google::protobuf::internal::MapFieldLite<opencv_tensorflow::NodeDef_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>, google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue>>::UseKeyAndValueFromEntry() in libopencv_dnn.a[6](graph.pb.cc.o)
  "google::protobuf::internal::LogFinisher::operator=(google::protobuf::internal::LogMessage&)", referenced from:
      google::protobuf::internal::MapField<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::SyncMapWithRepeatedFieldNoLock() const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::MapKey::GetStringValue() const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::MapKey::type() const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::internal::MapField<opencv_tensorflow::FunctionDef_Node_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::SyncMapWithRepeatedFieldNoLock() const in libopencv_dnn.a[5](function.pb.cc.o)
      google::protobuf::internal::MapField<opencv_tensorflow::NodeDef_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::SyncMapWithRepeatedFieldNoLock() const in libopencv_dnn.a[6](graph.pb.cc.o)
      opencv_tensorflow::AttrValue const& google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue>::at<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) const in libopencv_dnn.a[119](tf_graph_simplifier.cpp.o)
      opencv_tensorflow::AttrValue& google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue>::at<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) in libopencv_dnn.a[119](tf_graph_simplifier.cpp.o)
      ...
  "google::protobuf::internal::MapFieldBase::SetMapDirty()", referenced from:
      opencv_tensorflow::NameAttrList::MergeFrom(opencv_tensorflow::NameAttrList const&) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::NameAttrList::NameAttrList(opencv_tensorflow::NameAttrList const&) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::internal::MapField<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::MergeFrom(google::protobuf::internal::MapFieldBase const&) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::NameAttrList::Clear() in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::internal::MapField<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::Clear() in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::NameAttrList::CopyFrom(opencv_tensorflow::NameAttrList const&) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::internal::MapField<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::MutableMap() in libopencv_dnn.a[4](attr_value.pb.cc.o)
      ...
  "google::protobuf::internal::MapFieldBase::InternalSwap(google::protobuf::internal::MapFieldBase*)", referenced from:
      opencv_tensorflow::NameAttrList::InternalSwap(opencv_tensorflow::NameAttrList*) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::internal::MapField<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::UnsafeShallowSwap(google::protobuf::internal::MapFieldBase*) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::FunctionDef_Node::InternalSwap(opencv_tensorflow::FunctionDef_Node*) in libopencv_dnn.a[5](function.pb.cc.o)
      google::protobuf::internal::MapField<opencv_tensorflow::FunctionDef_Node_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::UnsafeShallowSwap(google::protobuf::internal::MapFieldBase*) in libopencv_dnn.a[5](function.pb.cc.o)
      opencv_tensorflow::NodeDef::InternalSwap(opencv_tensorflow::NodeDef*) in libopencv_dnn.a[6](graph.pb.cc.o)
      google::protobuf::internal::MapField<opencv_tensorflow::NodeDef_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::UnsafeShallowSwap(google::protobuf::internal::MapFieldBase*) in libopencv_dnn.a[6](graph.pb.cc.o)
  "google::protobuf::internal::MapFieldBase::Swap(google::protobuf::internal::MapFieldBase*)", referenced from:
      google::protobuf::internal::MapField<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::Swap(google::protobuf::internal::MapFieldBase*) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::internal::MapField<opencv_tensorflow::FunctionDef_Node_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::Swap(google::protobuf::internal::MapFieldBase*) in libopencv_dnn.a[5](function.pb.cc.o)
      google::protobuf::internal::MapField<opencv_tensorflow::NodeDef_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::Swap(google::protobuf::internal::MapFieldBase*) in libopencv_dnn.a[6](graph.pb.cc.o)
  "google::protobuf::internal::MapFieldBase::~MapFieldBase()", referenced from:
      google::protobuf::internal::MapField<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::~MapField() in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::internal::MapField<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::~MapField() in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::NameAttrList::~NameAttrList() in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::NameAttrList::ArenaDtor(void*) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::NameAttrList::ArenaDtor(void*) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::internal::MapField<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::~MapField() in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::internal::MapField<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::~MapField() in libopencv_dnn.a[4](attr_value.pb.cc.o)
      ...
  "google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::MessageLite*, char const*)", referenced from:
      opencv_caffe::BlobProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProtoVector::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProtoVector::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NormalizeBBoxParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::DetectionOutputParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::DetectionOutputParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::DetectionOutputParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::internal::ParseContext::ReadSizeAndPushLimitAndDepth(char const*, int*)", referenced from:
      opencv_tensorflow::NameAttrList::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::FunctionDef_Node::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[5](function.pb.cc.o)
      opencv_tensorflow::NodeDef::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[6](graph.pb.cc.o)
  "google::protobuf::internal::ArenaStringPtr::ClearToEmpty()", referenced from:
      opencv_tensorflow::NameAttrList::Clear() in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::NameAttrList::CopyFrom(opencv_tensorflow::NameAttrList const&) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::internal::MapEntryImpl<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, google::protobuf::Message, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::Clear() in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::FunctionDefLibrary::Clear() in libopencv_dnn.a[5](function.pb.cc.o)
      opencv_tensorflow::FunctionDefLibrary::Clear() in libopencv_dnn.a[5](function.pb.cc.o)
      opencv_tensorflow::FunctionDefLibrary::CopyFrom(opencv_tensorflow::FunctionDefLibrary const&) in libopencv_dnn.a[5](function.pb.cc.o)
      opencv_tensorflow::FunctionDefLibrary::CopyFrom(opencv_tensorflow::FunctionDefLibrary const&) in libopencv_dnn.a[5](function.pb.cc.o)
      ...
  "google::protobuf::internal::ArenaStringPtr::ClearToDefault(google::protobuf::internal::LazyString const&, google::protobuf::Arena*)", referenced from:
      opencv_caffe::NormalizeBBoxParameter::Clear() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::FillerParameter::Clear() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::FillerParameter::CopyFrom(opencv_caffe::FillerParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::Clear() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::Clear() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::Clear() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::Clear() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const*, google::protobuf::Arena*)", referenced from:
      cv::dnn::dnn4_v20240521::releaseONNXTensor(opencv_onnx::TensorProto&) in libopencv_dnn.a[110](onnx_importer.cpp.o)
      cv::dnn::dnn4_v20240521::releaseONNXTensor(opencv_onnx::TensorProto&) in libopencv_dnn.a[110](onnx_importer.cpp.o)
      cv::dnn::dnn4_v20240521::ONNXImporter::getGraphTensors(opencv_onnx::GraphProto const&) in libopencv_dnn.a[110](onnx_importer.cpp.o)
      cv::dnn::dnn4_v20240521::readTensorFromONNX(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) in libopencv_dnn.a[110](onnx_importer.cpp.o)
  "google::protobuf::internal::ArenaStringPtr::DestroyNoArenaSlowPath()", referenced from:
      opencv_caffe::BlobProto::SharedDtor() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::Datum::~Datum() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::FillerParameter::~FillerParameter() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetParameter::SharedDtor() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::SharedDtor() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::SharedDtor() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::SharedDtor() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::SharedDtor() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::SharedDtor() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::SharedDtor() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::internal::ArenaStringPtr::Set(google::protobuf::internal::ArenaStringPtr::EmptyDefault, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&&, google::protobuf::Arena*)", referenced from:
      cv::dnn::dnn4_v20240521::ExpandSubgraph::finalize(cv::Ptr<cv::dnn::ImportGraphWrapper> const&, cv::Ptr<cv::dnn::ImportNodeWrapper> const&, std::__1::vector<cv::Ptr<cv::dnn::ImportNodeWrapper>, std::__1::allocator<cv::Ptr<cv::dnn::ImportNodeWrapper>>>&) in libopencv_dnn.a[109](onnx_graph_simplifier.cpp.o)
      cv::dnn::dnn4_v20240521::BatchNormNoGammaSubgraph::finalize(opencv_tensorflow::GraphDef&, opencv_tensorflow::NodeDef*, std::__1::vector<opencv_tensorflow::NodeDef*, std::__1::allocator<opencv_tensorflow::NodeDef*>>&) in libopencv_dnn.a[119](tf_graph_simplifier.cpp.o)
      cv::dnn::dnn4_v20240521::UpsamplingKerasSubgraph::finalize(opencv_tensorflow::GraphDef&, opencv_tensorflow::NodeDef*, std::__1::vector<opencv_tensorflow::NodeDef*, std::__1::allocator<opencv_tensorflow::NodeDef*>>&) in libopencv_dnn.a[119](tf_graph_simplifier.cpp.o)
  "google::protobuf::internal::ArenaStringPtr::Set(google::protobuf::internal::ArenaStringPtr::EmptyDefault, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, google::protobuf::Arena*)", referenced from:
      opencv_caffe::BlobProto::BlobProto(opencv_caffe::BlobProto const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::MergeFrom(opencv_caffe::BlobProto const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SaveOutputParameter::MergeFrom(opencv_caffe::SaveOutputParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SaveOutputParameter::MergeFrom(opencv_caffe::SaveOutputParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SaveOutputParameter::MergeFrom(opencv_caffe::SaveOutputParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SaveOutputParameter::MergeFrom(opencv_caffe::SaveOutputParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SaveOutputParameter::MergeFrom(opencv_caffe::SaveOutputParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SaveOutputParameter::MergeFrom(opencv_caffe::SaveOutputParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SaveOutputParameter::MergeFrom(opencv_caffe::SaveOutputParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SaveOutputParameter::MergeFrom(opencv_caffe::SaveOutputParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SaveOutputParameter::MergeFrom(opencv_caffe::SaveOutputParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SaveOutputParameter::MergeFrom(opencv_caffe::SaveOutputParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::internal::ArenaStringPtr::Set(google::protobuf::internal::ArenaStringPtr::NonEmptyDefault, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, google::protobuf::Arena*)", referenced from:
      opencv_caffe::FillerParameter::FillerParameter(opencv_caffe::FillerParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::FillerParameter::MergeFrom(opencv_caffe::FillerParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::FillerParameter::MergeFrom(opencv_caffe::FillerParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::FillerParameter::FillerParameter(opencv_caffe::FillerParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::SolverParameter(opencv_caffe::SolverParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::SolverParameter(opencv_caffe::SolverParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::MergeFrom(opencv_caffe::SolverParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::MergeFrom(opencv_caffe::SolverParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::MergeFrom(opencv_caffe::SolverParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::MergeFrom(opencv_caffe::SolverParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::internal::ArenaStringPtr::Set(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, google::protobuf::Arena*)", referenced from:
      google::protobuf::internal::MapEntryImpl<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, google::protobuf::Message, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::MergeFromInternal(google::protobuf::internal::MapEntryImpl<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, google::protobuf::Message, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11> const&) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::internal::MapEntryImpl<opencv_tensorflow::FunctionDef_Node_AttrEntry_DoNotUse, google::protobuf::Message, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::MergeFromInternal(google::protobuf::internal::MapEntryImpl<opencv_tensorflow::FunctionDef_Node_AttrEntry_DoNotUse, google::protobuf::Message, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11> const&) in libopencv_dnn.a[5](function.pb.cc.o)
      google::protobuf::internal::MapEntryImpl<opencv_tensorflow::NodeDef_AttrEntry_DoNotUse, google::protobuf::Message, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::MergeFromInternal(google::protobuf::internal::MapEntryImpl<opencv_tensorflow::NodeDef_AttrEntry_DoNotUse, google::protobuf::Message, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11> const&) in libopencv_dnn.a[6](graph.pb.cc.o)
  "google::protobuf::internal::ArenaStringPtr::Destroy(google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*)", referenced from:
      opencv_onnx::TensorShapeProto_Dimension::~TensorShapeProto_Dimension() in libopencv_dnn.a[3](opencv-onnx.pb.cc.o)
      opencv_onnx::TensorShapeProto_Dimension::clear_value() in libopencv_dnn.a[3](opencv-onnx.pb.cc.o)
      opencv_onnx::TensorShapeProto_Dimension::Clear() in libopencv_dnn.a[3](opencv-onnx.pb.cc.o)
      opencv_onnx::TensorShapeProto_Dimension::Clear() in libopencv_dnn.a[3](opencv-onnx.pb.cc.o)
      opencv_onnx::TensorShapeProto_Dimension::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[3](opencv-onnx.pb.cc.o)
      opencv_onnx::TensorShapeProto_Dimension::MergeFrom(opencv_onnx::TensorShapeProto_Dimension const&) in libopencv_dnn.a[3](opencv-onnx.pb.cc.o)
      opencv_onnx::TensorShapeProto_Dimension::CopyFrom(opencv_onnx::TensorShapeProto_Dimension const&) in libopencv_dnn.a[3](opencv-onnx.pb.cc.o)
      ...
  "google::protobuf::internal::ArenaStringPtr::Mutable(google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*)", referenced from:
      opencv_caffe::BlobProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::Datum::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::internal::ArenaStringPtr::Mutable(google::protobuf::internal::LazyString const&, google::protobuf::Arena*)", referenced from:
      opencv_caffe::FillerParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::WindowDataParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::V0LayerParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
  "google::protobuf::internal::ArenaStringPtr::Release(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const*, google::protobuf::Arena*)", referenced from:
      cv::dnn::dnn4_v20240521::releaseTensor(opencv_tensorflow::TensorProto*) in libopencv_dnn.a[119](tf_graph_simplifier.cpp.o)
      cv::dnn::dnn4_v20240521::releaseTensor(opencv_tensorflow::TensorProto*) in libopencv_dnn.a[119](tf_graph_simplifier.cpp.o)
  "google::protobuf::internal::WireFormatLite::UInt32Size(google::protobuf::RepeatedField<unsigned int> const&)", referenced from:
      opencv_caffe::PermuteParameter::ByteSizeLong() const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::LayerParameter::ByteSizeLong() const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::LayerParameter::ByteSizeLong() const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::LayerParameter::ByteSizeLong() const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::ConvolutionParameter::ByteSizeLong() const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::ConvolutionParameter::ByteSizeLong() const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::ConvolutionParameter::ByteSizeLong() const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::ConvolutionParameter::ByteSizeLong() const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::internal::WireFormatLite::UInt64Size(google::protobuf::RepeatedField<unsigned long long> const&)", referenced from:
      opencv_onnx::TensorProto::ByteSizeLong() const in libopencv_dnn.a[3](opencv-onnx.pb.cc.o)
  "google::protobuf::internal::WireFormatLite::VerifyUtf8String(char const*, int, google::protobuf::internal::WireFormatLite::Operation, char const*)", referenced from:
      opencv_tensorflow::AttrValue::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::NameAttrList::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::NameAttrList::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::NameAttrList::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::internal::MapEntryImpl<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, google::protobuf::Message, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::internal::MapEntryImpl<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, google::protobuf::Message, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::internal::MapEntryImpl<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, google::protobuf::Message, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::Parser<google::protobuf::internal::MapFieldLite<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>, google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue>>::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::internal::MapEntryImpl<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, google::protobuf::Message, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::Parser<google::protobuf::internal::MapFieldLite<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>, google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue>>::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      ...
  "google::protobuf::internal::WireFormatLite::Int32Size(google::protobuf::RepeatedField<int> const&)", referenced from:
      opencv_caffe::NetParameter::ByteSizeLong() const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::ByteSizeLong() const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::ByteSizeLong() const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_onnx::TensorProto::ByteSizeLong() const in libopencv_dnn.a[3](opencv-onnx.pb.cc.o)
      opencv_tensorflow::TensorProto::ByteSizeLong() const in libopencv_dnn.a[8](tensor.pb.cc.o)
      opencv_tensorflow::TensorProto::ByteSizeLong() const in libopencv_dnn.a[8](tensor.pb.cc.o)
      opencv_tensorflow::VersionDef::ByteSizeLong() const in libopencv_dnn.a[11](versions.pb.cc.o)
      ...
  "google::protobuf::internal::WireFormatLite::Int64Size(google::protobuf::RepeatedField<long long> const&)", referenced from:
      opencv_caffe::BlobShape::ByteSizeLong() const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::ByteSizeLong() const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetParameter::ByteSizeLong() const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::LayerParameter::ByteSizeLong() const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::LayerParameter::ByteSizeLong() const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::DummyDataParameter::ByteSizeLong() const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::InputParameter::ByteSizeLong() const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::internal::ReadTagFallback(char const*, unsigned int)", referenced from:
      opencv_caffe::BlobShape::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProtoVector::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PermuteParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NormalizeBBoxParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::DetectionOutputParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::internal::ThreadSafeArena::AddCleanup(void*, void (*)(void*))", referenced from:
      opencv_tensorflow::NameAttrList::NameAttrList(google::protobuf::Arena*, bool) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::NameAttrList::NameAttrList(google::protobuf::Arena*, bool) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      std::__1::pair<google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue>::InnerMap::iterator_base<google::protobuf::MapPair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue>>, bool> google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue>::InnerMap::insert<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      void google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy<google::protobuf::RepeatedPtrField<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse>::TypeHandler>(google::protobuf::RepeatedPtrField<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse>::TypeHandler::Type*, google::protobuf::Arena*, google::protobuf::Arena*) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::FunctionDef_Node::FunctionDef_Node(google::protobuf::Arena*, bool) in libopencv_dnn.a[5](function.pb.cc.o)
      void google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy<google::protobuf::RepeatedPtrField<opencv_tensorflow::FunctionDef_Node_AttrEntry_DoNotUse>::TypeHandler>(google::protobuf::RepeatedPtrField<opencv_tensorflow::FunctionDef_Node_AttrEntry_DoNotUse>::TypeHandler::Type*, google::protobuf::Arena*, google::protobuf::Arena*) in libopencv_dnn.a[5](function.pb.cc.o)
      opencv_tensorflow::NodeDef::NodeDef(google::protobuf::Arena*, bool) in libopencv_dnn.a[6](graph.pb.cc.o)
      ...
  "google::protobuf::internal::ThreadSafeArena::~ThreadSafeArena()", referenced from:
      google::protobuf::Message::~Message() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobShape::~BlobShape() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobShape::~BlobShape() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobShape::~BlobShape() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::~BlobProto() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::SharedDtor() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProtoVector::~BlobProtoVector() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::internal::PackedBoolParser(void*, char const*, google::protobuf::internal::ParseContext*)", referenced from:
      opencv_caffe::LayerParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_tensorflow::AttrValue_ListValue::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::TensorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[8](tensor.pb.cc.o)
  "google::protobuf::internal::PackedEnumParser(void*, char const*, google::protobuf::internal::ParseContext*)", referenced from:
      opencv_tensorflow::AttrValue_ListValue::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[4](attr_value.pb.cc.o)
  "google::protobuf::internal::ReadSizeFallback(char const*, unsigned int)", referenced from:
      char const* google::protobuf::internal::EpsCopyInputStream::ReadPackedVarint<char const* google::protobuf::internal::PackedEnumParser<google::protobuf::UnknownFieldSet>(void*, char const*, google::protobuf::internal::ParseContext*, bool (*)(int), google::protobuf::internal::InternalMetadata*, int)::'lambda'(unsigned long long)>(char const*, char const* google::protobuf::internal::PackedEnumParser<google::protobuf::UnknownFieldSet>(void*, char const*, google::protobuf::internal::ParseContext*, bool (*)(int), google::protobuf::internal::InternalMetadata*, int)::'lambda'(unsigned long long)) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      google::protobuf::internal::MapEntryImpl<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, google::protobuf::Message, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::internal::MapEntryImpl<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, google::protobuf::Message, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::Parser<google::protobuf::internal::MapFieldLite<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>, google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue>>::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::internal::MapEntryImpl<opencv_tensorflow::FunctionDef_Node_AttrEntry_DoNotUse, google::protobuf::Message, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[5](function.pb.cc.o)
      google::protobuf::internal::MapEntryImpl<opencv_tensorflow::FunctionDef_Node_AttrEntry_DoNotUse, google::protobuf::Message, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::Parser<google::protobuf::internal::MapFieldLite<opencv_tensorflow::FunctionDef_Node_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>, google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue>>::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[5](function.pb.cc.o)
      google::protobuf::internal::MapEntryImpl<opencv_tensorflow::NodeDef_AttrEntry_DoNotUse, google::protobuf::Message, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[6](graph.pb.cc.o)
      google::protobuf::internal::MapEntryImpl<opencv_tensorflow::NodeDef_AttrEntry_DoNotUse, google::protobuf::Message, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::Parser<google::protobuf::internal::MapFieldLite<opencv_tensorflow::NodeDef_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>, google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue>>::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[6](graph.pb.cc.o)
      ...
  "google::protobuf::internal::AssignDescriptors(google::protobuf::internal::DescriptorTable const* (*)(), std::__1::once_flag*, google::protobuf::Metadata const&)", referenced from:
      opencv_caffe::BlobShape::GetMetadata() const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::GetMetadata() const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProtoVector::GetMetadata() const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PermuteParameter::GetMetadata() const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NormalizeBBoxParameter::GetMetadata() const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::GetMetadata() const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::DetectionOutputParameter::GetMetadata() const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::internal::AssignDescriptors(google::protobuf::internal::DescriptorTable const*, bool)", referenced from:
      opencv_caffe::PriorBoxParameter_CodeType_descriptor() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::FillerParameter_VarianceNorm_descriptor() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter_SnapshotFormat_descriptor() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter_SolverMode_descriptor() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter_SolverType_descriptor() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::ParamSpec_DimCheckMode_descriptor() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::LossParameter_NormalizationMode_descriptor() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::internal::PackedFloatParser(void*, char const*, google::protobuf::internal::ParseContext*)", referenced from:
      opencv_caffe::BlobProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::internal::PackedInt32Parser(void*, char const*, google::protobuf::internal::ParseContext*)", referenced from:
      opencv_caffe::NetParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_onnx::TensorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[3](opencv-onnx.pb.cc.o)
      opencv_tensorflow::TensorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[8](tensor.pb.cc.o)
      opencv_tensorflow::TensorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[8](tensor.pb.cc.o)
      opencv_tensorflow::VersionDef::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[11](versions.pb.cc.o)
      ...
  "google::protobuf::internal::PackedInt64Parser(void*, char const*, google::protobuf::internal::ParseContext*)", referenced from:
      opencv_caffe::BlobShape::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_onnx::AttributeProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[3](opencv-onnx.pb.cc.o)
      opencv_onnx::TensorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[3](opencv-onnx.pb.cc.o)
      opencv_onnx::TensorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[3](opencv-onnx.pb.cc.o)
      opencv_tensorflow::AttrValue_ListValue::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::TensorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[8](tensor.pb.cc.o)
  "google::protobuf::internal::UnknownFieldParse(unsigned int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*, char const*, google::protobuf::internal::ParseContext*)", referenced from:
      google::protobuf::internal::MapEntryImpl<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, google::protobuf::Message, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::internal::MapEntryImpl<opencv_tensorflow::FunctionDef_Node_AttrEntry_DoNotUse, google::protobuf::Message, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[5](function.pb.cc.o)
      google::protobuf::internal::MapEntryImpl<opencv_tensorflow::NodeDef_AttrEntry_DoNotUse, google::protobuf::Message, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[6](graph.pb.cc.o)
  "google::protobuf::internal::UnknownFieldParse(unsigned long long, google::protobuf::UnknownFieldSet*, char const*, google::protobuf::internal::ParseContext*)", referenced from:
      opencv_caffe::BlobShape::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobShape::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProtoVector::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProtoVector::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PermuteParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PermuteParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::internal::VarintParseSlow32(char const*, unsigned int)", referenced from:
      opencv_caffe::BlobProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PermuteParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::internal::VarintParseSlow64(char const*, unsigned int)", referenced from:
      google::protobuf::internal::ReadVarint64(char const**) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NormalizeBBoxParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NormalizeBBoxParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::DetectionOutputParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::DetectionOutputParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::DetectionOutputParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::DetectionOutputParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::DetectionOutputParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::internal::kGlobalEmptyTable", referenced from:
      opencv_tensorflow::NameAttrList::NameAttrList(google::protobuf::Arena*, bool) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::NameAttrList::NameAttrList(google::protobuf::Arena*, bool) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::NameAttrList::NameAttrList(opencv_tensorflow::NameAttrList const&) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::NameAttrList* google::protobuf::Arena::CreateMaybeMessage<opencv_tensorflow::NameAttrList>(google::protobuf::Arena*) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue>::swap(google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue>&) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::_NameAttrList_default_instance_ in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::FunctionDef_Node::FunctionDef_Node(google::protobuf::Arena*, bool) in libopencv_dnn.a[5](function.pb.cc.o)
      ...
  "google::protobuf::internal::EpsCopyInputStream::DoneFallback(int, int)", referenced from:
      opencv_caffe::BlobShape::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProtoVector::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PermuteParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NormalizeBBoxParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PriorBoxParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::DetectionOutputParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::internal::EpsCopyInputStream::ReadStringFallback(char const*, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*)", referenced from:
      google::protobuf::internal::MapEntryImpl<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, google::protobuf::Message, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::internal::MapEntryImpl<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, google::protobuf::Message, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::Parser<google::protobuf::internal::MapFieldLite<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>, google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue>>::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::internal::MapEntryImpl<opencv_tensorflow::FunctionDef_Node_AttrEntry_DoNotUse, google::protobuf::Message, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[5](function.pb.cc.o)
      google::protobuf::internal::MapEntryImpl<opencv_tensorflow::FunctionDef_Node_AttrEntry_DoNotUse, google::protobuf::Message, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::Parser<google::protobuf::internal::MapFieldLite<opencv_tensorflow::FunctionDef_Node_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>, google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue>>::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[5](function.pb.cc.o)
      google::protobuf::internal::MapEntryImpl<opencv_tensorflow::NodeDef_AttrEntry_DoNotUse, google::protobuf::Message, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[6](graph.pb.cc.o)
      google::protobuf::internal::MapEntryImpl<opencv_tensorflow::NodeDef_AttrEntry_DoNotUse, google::protobuf::Message, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::Parser<google::protobuf::internal::MapFieldLite<opencv_tensorflow::NodeDef_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>, google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue>>::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[6](graph.pb.cc.o)
  "google::protobuf::internal::EpsCopyInputStream::Next()", referenced from:
      char const* google::protobuf::internal::EpsCopyInputStream::ReadPackedVarint<char const* google::protobuf::internal::PackedEnumParser<google::protobuf::UnknownFieldSet>(void*, char const*, google::protobuf::internal::ParseContext*, bool (*)(int), google::protobuf::internal::InternalMetadata*, int)::'lambda'(unsigned long long)>(char const*, char const* google::protobuf::internal::PackedEnumParser<google::protobuf::UnknownFieldSet>(void*, char const*, google::protobuf::internal::ParseContext*, bool (*)(int), google::protobuf::internal::InternalMetadata*, int)::'lambda'(unsigned long long)) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
  "google::protobuf::internal::PackedDoubleParser(void*, char const*, google::protobuf::internal::ParseContext*)", referenced from:
      opencv_caffe::BlobProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_onnx::TensorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[3](opencv-onnx.pb.cc.o)
      opencv_tensorflow::TensorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[8](tensor.pb.cc.o)
      opencv_tensorflow::TensorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[8](tensor.pb.cc.o)
  "google::protobuf::internal::PackedUInt32Parser(void*, char const*, google::protobuf::internal::ParseContext*)", referenced from:
      opencv_caffe::PermuteParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::ConvolutionParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::CropParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::DummyDataParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::DummyDataParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::DummyDataParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::DummyDataParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::internal::PackedUInt64Parser(void*, char const*, google::protobuf::internal::ParseContext*)", referenced from:
      opencv_onnx::TensorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[3](opencv-onnx.pb.cc.o)
  "google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*)", referenced from:
      __GLOBAL__I_000102 in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      __GLOBAL__I_000102 in libopencv_dnn.a[3](opencv-onnx.pb.cc.o)
      __GLOBAL__I_000102 in libopencv_dnn.a[4](attr_value.pb.cc.o)
      __GLOBAL__I_000102 in libopencv_dnn.a[5](function.pb.cc.o)
      __GLOBAL__I_000102 in libopencv_dnn.a[6](graph.pb.cc.o)
      __GLOBAL__I_000102 in libopencv_dnn.a[7](op_def.pb.cc.o)
      __GLOBAL__I_000102 in libopencv_dnn.a[8](tensor.pb.cc.o)
      ...
  "google::protobuf::internal::RepeatedPtrFieldBase::DestroyProtos()", referenced from:
      google::protobuf::RepeatedPtrField<opencv_caffe::BlobProto>::~RepeatedPtrField() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProtoVector::~BlobProtoVector() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      google::protobuf::RepeatedPtrField<opencv_caffe::LayerParameter>::~RepeatedPtrField() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      google::protobuf::RepeatedPtrField<opencv_caffe::BlobShape>::~RepeatedPtrField() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      google::protobuf::RepeatedPtrField<opencv_caffe::V1LayerParameter>::~RepeatedPtrField() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetParameter::~NetParameter() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetParameter::~NetParameter() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetParameter::~NetParameter() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend(int)", referenced from:
      opencv_caffe::BlobProtoVector::BlobProtoVector(opencv_caffe::BlobProtoVector const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProtoVector::MergeImpl(google::protobuf::Message*, google::protobuf::Message const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProtoVector::MergeFrom(opencv_caffe::BlobProtoVector const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProtoVector::CopyFrom(opencv_caffe::BlobProtoVector const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetParameter::NetParameter(opencv_caffe::NetParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetParameter::NetParameter(opencv_caffe::NetParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetParameter::NetParameter(opencv_caffe::NetParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetParameter::NetParameter(opencv_caffe::NetParameter const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::internal::RepeatedPtrFieldBase::AddOutOfLineHelper(void*)", referenced from:
      opencv_caffe::BlobProtoVector::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::internal::RepeatedPtrFieldBase::Reserve(int)", referenced from:
      void google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy<google::protobuf::RepeatedPtrField<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse>::TypeHandler>(google::protobuf::RepeatedPtrField<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse>::TypeHandler::Type*, google::protobuf::Arena*, google::protobuf::Arena*) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      void google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy<google::protobuf::RepeatedPtrField<opencv_tensorflow::FunctionDef_Node_AttrEntry_DoNotUse>::TypeHandler>(google::protobuf::RepeatedPtrField<opencv_tensorflow::FunctionDef_Node_AttrEntry_DoNotUse>::TypeHandler::Type*, google::protobuf::Arena*, google::protobuf::Arena*) in libopencv_dnn.a[5](function.pb.cc.o)
      void google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy<google::protobuf::RepeatedPtrField<opencv_tensorflow::NodeDef_AttrEntry_DoNotUse>::TypeHandler>(google::protobuf::RepeatedPtrField<opencv_tensorflow::NodeDef_AttrEntry_DoNotUse>::TypeHandler::Type*, google::protobuf::Arena*, google::protobuf::Arena*) in libopencv_dnn.a[6](graph.pb.cc.o)
      cv::dnn::dnn4_v20240521::ONNXImporter::parseLSTM(cv::dnn::dnn4_v20240521::LayerParams&, opencv_onnx::NodeProto const&) in libopencv_dnn.a[110](onnx_importer.cpp.o)
  "google::protobuf::internal::RepeatedPtrFieldBase::CloseGap(int, int)", referenced from:
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::populateNet(cv::dnn::dnn4_v20240521::Net) in libopencv_dnn.a[13](caffe_importer.cpp.o)
      cv::dnn::dnn4_v20240521::ONNXGraphWrapper::removeNode(int) in libopencv_dnn.a[109](onnx_graph_simplifier.cpp.o)
      cv::dnn::dnn4_v20240521::ExtractScalesSubgraph::finalize(cv::Ptr<cv::dnn::ImportGraphWrapper> const&, cv::Ptr<cv::dnn::ImportNodeWrapper> const&, std::__1::vector<cv::Ptr<cv::dnn::ImportNodeWrapper>, std::__1::allocator<cv::Ptr<cv::dnn::ImportNodeWrapper>>>&) in libopencv_dnn.a[109](onnx_graph_simplifier.cpp.o)
      cv::dnn::dnn4_v20240521::ONNXImporter::parseLayerNorm(cv::dnn::dnn4_v20240521::LayerParams&, opencv_onnx::NodeProto const&) in libopencv_dnn.a[110](onnx_importer.cpp.o)
      cv::dnn::dnn4_v20240521::ONNXImporter::parseLayerNorm(cv::dnn::dnn4_v20240521::LayerParams&, opencv_onnx::NodeProto const&) in libopencv_dnn.a[110](onnx_importer.cpp.o)
      cv::dnn::dnn4_v20240521::RemoveIdentityOps(opencv_tensorflow::GraphDef&) in libopencv_dnn.a[119](tf_graph_simplifier.cpp.o)
      cv::dnn::dnn4_v20240521::removePhaseSwitches(opencv_tensorflow::GraphDef&) in libopencv_dnn.a[119](tf_graph_simplifier.cpp.o)
      ...
  "google::protobuf::internal::GetOwnedMessageInternal(google::protobuf::Arena*, google::protobuf::MessageLite*, google::protobuf::Arena*)", referenced from:
      opencv_onnx::TypeProto::set_allocated_tensor_type(opencv_onnx::TypeProto_Tensor*) in libopencv_dnn.a[3](opencv-onnx.pb.cc.o)
      opencv_tensorflow::AttrValue::set_allocated_shape(opencv_tensorflow::TensorShapeProto*) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::AttrValue::set_allocated_tensor(opencv_tensorflow::TensorProto*) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::AttrValue::set_allocated_list(opencv_tensorflow::AttrValue_ListValue*) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::AttrValue::set_allocated_func(opencv_tensorflow::NameAttrList*) in libopencv_dnn.a[4](attr_value.pb.cc.o)
  "google::protobuf::internal::InlineGreedyStringParser(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*, char const*, google::protobuf::internal::ParseContext*)", referenced from:
      opencv_caffe::BlobProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::Datum::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::FillerParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NetParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::SolverParameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::internal::fixed_address_empty_string", referenced from:
      opencv_caffe::BlobProto::BlobProto(google::protobuf::Arena*, bool) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::BlobProto(google::protobuf::Arena*, bool) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::BlobProto(opencv_caffe::BlobProto const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::SharedDtor() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::Datum::Datum(google::protobuf::Arena*, bool) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::Datum::Datum(google::protobuf::Arena*, bool) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::Datum::Datum(opencv_caffe::Datum const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::internal::StringSpaceUsedExcludingSelfLong(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)", referenced from:
      google::protobuf::Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue>::SpaceUsedExcludingSelfLong() const in libopencv_dnn.a[4](attr_value.pb.cc.o)
  "google::protobuf::Reflection::GetMessage(google::protobuf::Message const&, google::protobuf::FieldDescriptor const*, google::protobuf::MessageFactory*) const", referenced from:
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
  "google::protobuf::Reflection::GetRepeatedEnum(google::protobuf::Message const&, google::protobuf::FieldDescriptor const*, int) const", referenced from:
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
  "google::protobuf::Reflection::GetUnknownFields(google::protobuf::Message const&) const", referenced from:
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
  "google::protobuf::Reflection::RepeatedFieldData(google::protobuf::Message*, google::protobuf::FieldDescriptor const*, google::protobuf::FieldDescriptor::CppType, google::protobuf::Descriptor const*) const", referenced from:
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
      ...
  "google::protobuf::Reflection::GetRepeatedMessage(google::protobuf::Message const&, google::protobuf::FieldDescriptor const*, int) const", referenced from:
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
  "google::protobuf::Reflection::RepeatedFieldAccessor(google::protobuf::FieldDescriptor const*) const", referenced from:
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
      ...
  "google::protobuf::Reflection::GetBool(google::protobuf::Message const&, google::protobuf::FieldDescriptor const*) const", referenced from:
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
  "google::protobuf::Reflection::GetEnum(google::protobuf::Message const&, google::protobuf::FieldDescriptor const*) const", referenced from:
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
  "google::protobuf::Reflection::GetFloat(google::protobuf::Message const&, google::protobuf::FieldDescriptor const*) const", referenced from:
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
  "google::protobuf::Reflection::GetInt32(google::protobuf::Message const&, google::protobuf::FieldDescriptor const*) const", referenced from:
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
  "google::protobuf::Reflection::HasField(google::protobuf::Message const&, google::protobuf::FieldDescriptor const*) const", referenced from:
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
  "google::protobuf::Reflection::FieldSize(google::protobuf::Message const&, google::protobuf::FieldDescriptor const*) const", referenced from:
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
  "google::protobuf::Reflection::GetDouble(google::protobuf::Message const&, google::protobuf::FieldDescriptor const*) const", referenced from:
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
  "google::protobuf::Reflection::GetString(google::protobuf::Message const&, google::protobuf::FieldDescriptor const*) const", referenced from:
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
  "google::protobuf::Reflection::GetUInt32(google::protobuf::Message const&, google::protobuf::FieldDescriptor const*) const", referenced from:
      cv::dnn::dnn4_v20240521::(anonymous namespace)::CaffeImporter::extractLayerParams(google::protobuf::Message const&, cv::dnn::dnn4_v20240521::LayerParams&, bool) in libopencv_dnn.a[13](caffe_importer.cpp.o)
  "google::protobuf::Message::GetTypeName() const", referenced from:
      vtable for opencv_caffe::BlobShape in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::BlobProto in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::BlobProtoVector in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::PermuteParameter in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::NormalizeBBoxParameter in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::PriorBoxParameter in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::DetectionOutputParameter in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::Message::SetCachedSize(int) const", referenced from:
      vtable for opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse in libopencv_dnn.a[4](attr_value.pb.cc.o)
      vtable for google::protobuf::internal::MapEntry<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11> in libopencv_dnn.a[4](attr_value.pb.cc.o)
      vtable for google::protobuf::internal::MapEntryImpl<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, google::protobuf::Message, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11> in libopencv_dnn.a[4](attr_value.pb.cc.o)
      vtable for opencv_tensorflow::FunctionDef_Node_AttrEntry_DoNotUse in libopencv_dnn.a[5](function.pb.cc.o)
      vtable for google::protobuf::internal::MapEntry<opencv_tensorflow::FunctionDef_Node_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11> in libopencv_dnn.a[5](function.pb.cc.o)
      vtable for google::protobuf::internal::MapEntryImpl<opencv_tensorflow::FunctionDef_Node_AttrEntry_DoNotUse, google::protobuf::Message, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11> in libopencv_dnn.a[5](function.pb.cc.o)
      vtable for opencv_tensorflow::NodeDef_AttrEntry_DoNotUse in libopencv_dnn.a[6](graph.pb.cc.o)
      ...
  "google::protobuf::Message::SpaceUsedLong() const", referenced from:
      vtable for opencv_caffe::BlobShape in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::BlobProto in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::BlobProtoVector in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::PermuteParameter in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::NormalizeBBoxParameter in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::PriorBoxParameter in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::DetectionOutputParameter in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::Message::InitializationErrorString() const", referenced from:
      vtable for opencv_caffe::BlobShape in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::BlobProto in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::BlobProtoVector in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::PermuteParameter in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::NormalizeBBoxParameter in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::PriorBoxParameter in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      vtable for opencv_caffe::DetectionOutputParameter in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::Message::MaybeComputeUnknownFieldsSize(unsigned long, google::protobuf::internal::CachedSize*) const", referenced from:
      opencv_caffe::BlobShape::ByteSizeLong() const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::ByteSizeLong() const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::ByteSizeLong() const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProtoVector::ByteSizeLong() const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::PermuteParameter::ByteSizeLong() const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NormalizeBBoxParameter::ByteSizeLong() const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::NormalizeBBoxParameter::ByteSizeLong() const in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "google::protobuf::internal::LazyString::Init() const", referenced from:
      cv::dnn::UpgradeV0LayerParameter(opencv_caffe::V1LayerParameter*, opencv_caffe::V1LayerParameter*) in libopencv_dnn.a[14](caffe_io.cpp.o)
  "google::protobuf::internal::MapFieldBase::SyncMapWithRepeatedField() const", referenced from:
      opencv_tensorflow::NameAttrList::MergeFrom(opencv_tensorflow::NameAttrList const&) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::NameAttrList::MergeFrom(opencv_tensorflow::NameAttrList const&) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::NameAttrList::NameAttrList(opencv_tensorflow::NameAttrList const&) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::NameAttrList::NameAttrList(opencv_tensorflow::NameAttrList const&) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::internal::MapField<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::MergeFrom(google::protobuf::internal::MapFieldBase const&) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      google::protobuf::internal::MapField<opencv_tensorflow::NameAttrList_AttrEntry_DoNotUse, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue, (google::protobuf::internal::WireFormatLite::FieldType)9, (google::protobuf::internal::WireFormatLite::FieldType)11>::MergeFrom(google::protobuf::internal::MapFieldBase const&) in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::NameAttrList::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::NameAttrList::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::NameAttrList::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::NameAttrList::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::NameAttrList::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::NameAttrList::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::NameAttrList::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::NameAttrList::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      opencv_tensorflow::NameAttrList::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libopencv_dnn.a[4](attr_value.pb.cc.o)
      ...
  "typeinfo for google::protobuf::Message", referenced from:
      typeinfo for opencv_caffe::BlobShape in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      typeinfo for opencv_caffe::BlobProto in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      typeinfo for opencv_caffe::BlobProtoVector in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      typeinfo for opencv_caffe::PermuteParameter in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      typeinfo for opencv_caffe::NormalizeBBoxParameter in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      typeinfo for opencv_caffe::PriorBoxParameter in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      typeinfo for opencv_caffe::DetectionOutputParameter in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
  "typeinfo for google::protobuf::internal::MapFieldBase", referenced from:
      typeinfo for google::protobuf::internal::TypeDefinedMapFieldBase<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, opencv_tensorflow::AttrValue> in libopencv_dnn.a[4](attr_value.pb.cc.o)
  "vtable for google::protobuf::MessageLite", referenced from:
      google::protobuf::Message::~Message() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobShape::BlobShape(opencv_caffe::BlobShape const&) in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobShape::~BlobShape() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobShape::~BlobShape() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobShape::~BlobShape() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::~BlobProto() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      opencv_caffe::BlobProto::SharedDtor() in libopencv_dnn.a[2](opencv-caffe.pb.cc.o)
      ...
   NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for google::protobuf::io::IstreamInputStream", referenced from:
      cv::dnn::ReadProtoFromTextFile(char const*, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadProtoFromTextFile(char const*, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadProtoFromBinaryFile(char const*, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
      cv::dnn::ReadProtoFromBinaryFile(char const*, google::protobuf::Message*) in libopencv_dnn.a[14](caffe_io.cpp.o)
   NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "___CFConstantStringClassReference", referenced from:
       in libopencv_highgui.a[5](window_cocoa.mm.o)
       in libopencv_highgui.a[5](window_cocoa.mm.o)
  "___itt_api_version_ptr__3_0", referenced from:
      cv::utils::trace::details::isITTEnabled() in libopencv_core.a[83](trace.cpp.o)
  "___itt_domain_create_ptr__3_0", referenced from:
      cv::utils::trace::details::isITTEnabled() in libopencv_core.a[83](trace.cpp.o)
  "___itt_id_create_ptr__3_0", referenced from:
      cv::utils::trace::details::Region::Impl::Impl(cv::utils::trace::details::TraceManagerThreadLocal&, cv::utils::trace::details::Region*, cv::utils::trace::details::Region&, cv::utils::trace::details::Region::LocationStaticStorage const&, long long) in libopencv_core.a[83](trace.cpp.o)
      cv::utils::trace::details::Region::Impl::registerRegion(cv::utils::trace::details::TraceManagerThreadLocal&) in libopencv_core.a[83](trace.cpp.o)
      cv::utils::trace::details::Region::Impl::Impl(cv::utils::trace::details::TraceManagerThreadLocal&, cv::utils::trace::details::Region*, cv::utils::trace::details::Region&, cv::utils::trace::details::Region::LocationStaticStorage const&, long long) in libopencv_core.a[83](trace.cpp.o)
      cv::utils::trace::details::Region::Region(cv::utils::trace::details::Region::LocationStaticStorage const&) in libopencv_core.a[83](trace.cpp.o)
  "___itt_id_destroy_ptr__3_0", referenced from:
      cv::utils::trace::details::Region::Impl::~Impl() in libopencv_core.a[83](trace.cpp.o)
      cv::utils::trace::details::Region::Impl::~Impl() in libopencv_core.a[83](trace.cpp.o)
      cv::utils::trace::details::Region::Impl::release() in libopencv_core.a[83](trace.cpp.o)
      cv::utils::trace::details::Region::destroy() in libopencv_core.a[83](trace.cpp.o)
  "___itt_metadata_add_ptr__3_0", referenced from:
      cv::utils::trace::details::Region::Impl::leaveRegion(cv::utils::trace::details::TraceManagerThreadLocal&) in libopencv_core.a[83](trace.cpp.o)
      cv::utils::trace::details::traceArg(cv::utils::trace::details::TraceArg const&, int) in libopencv_core.a[83](trace.cpp.o)
      cv::utils::trace::details::traceArg(cv::utils::trace::details::TraceArg const&, long long) in libopencv_core.a[83](trace.cpp.o)
      cv::utils::trace::details::traceArg(cv::utils::trace::details::TraceArg const&, double) in libopencv_core.a[83](trace.cpp.o)
  "___itt_metadata_str_add_ptr__3_0", referenced from:
      cv::utils::trace::details::traceArg(cv::utils::trace::details::TraceArg const&, char const*) in libopencv_core.a[83](trace.cpp.o)
  "___itt_region_begin_ptr__3_0", referenced from:
      cv::utils::trace::details::TraceManager::TraceManager() in libopencv_core.a[83](trace.cpp.o)
  "___itt_region_end_ptr__3_0", referenced from:
      cv::utils::trace::details::TraceManager::~TraceManager() in libopencv_core.a[83](trace.cpp.o)
  "___itt_relation_add_ptr__3_0", referenced from:
      cv::utils::trace::details::parallelForAttachNestedRegion(cv::utils::trace::details::Region const&) in libopencv_core.a[83](trace.cpp.o)
  "___itt_string_handle_create_ptr__3_0", referenced from:
      cv::utils::trace::details::Region::LocationExtraData::LocationExtraData(cv::utils::trace::details::Region::LocationStaticStorage const&) in libopencv_core.a[83](trace.cpp.o)
      cv::utils::trace::details::Region::LocationExtraData::LocationExtraData(cv::utils::trace::details::Region::LocationStaticStorage const&) in libopencv_core.a[83](trace.cpp.o)
      cv::utils::trace::details::Region::LocationExtraData::init(cv::utils::trace::details::Region::LocationStaticStorage const&) in libopencv_core.a[83](trace.cpp.o)
      cv::utils::trace::details::Region::Impl::leaveRegion(cv::utils::trace::details::TraceManagerThreadLocal&) in libopencv_core.a[83](trace.cpp.o)
      cv::utils::trace::details::Region::Impl::leaveRegion(cv::utils::trace::details::TraceManagerThreadLocal&) in libopencv_core.a[83](trace.cpp.o)
      cv::utils::trace::details::TraceManager::TraceManager() in libopencv_core.a[83](trace.cpp.o)
      cv::utils::trace::details::initTraceArg(cv::utils::trace::details::TraceManagerThreadLocal&, cv::utils::trace::details::TraceArg const&) in libopencv_core.a[83](trace.cpp.o)
      ...
  "___itt_task_begin_ptr__3_0", referenced from:
      cv::utils::trace::details::Region::Impl::enterRegion(cv::utils::trace::details::TraceManagerThreadLocal&) in libopencv_core.a[83](trace.cpp.o)
  "___itt_task_end_ptr__3_0", referenced from:
      cv::utils::trace::details::Region::Impl::leaveRegion(cv::utils::trace::details::TraceManagerThreadLocal&) in libopencv_core.a[83](trace.cpp.o)
  "___itt_thread_set_name_ptr__3_0", referenced from:
      cv::TLSData<cv::(anonymous namespace)::ThreadID>::createDataInstance() const in libopencv_core.a[81](system.cpp.o)
  "__objc_empty_cache", referenced from:
      _OBJC_CLASS_$_CVWindow in libopencv_highgui.a[5](window_cocoa.mm.o)
      _OBJC_CLASS_$_CVView in libopencv_highgui.a[5](window_cocoa.mm.o)
      _OBJC_CLASS_$_CVSlider in libopencv_highgui.a[5](window_cocoa.mm.o)
      _OBJC_METACLASS_$_CVWindow in libopencv_highgui.a[5](window_cocoa.mm.o)
      _OBJC_METACLASS_$_CVView in libopencv_highgui.a[5](window_cocoa.mm.o)
      _OBJC_METACLASS_$_CVSlider in libopencv_highgui.a[5](window_cocoa.mm.o)
  "_clBuildProgram", referenced from:
      _clBuildProgram_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clCompileProgram", referenced from:
      _clCompileProgram_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clCreateBuffer", referenced from:
      _clCreateBuffer_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clCreateCommandQueue", referenced from:
      _clCreateCommandQueue_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clCreateContext", referenced from:
      _clCreateContext_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clCreateContextFromType", referenced from:
      _clCreateContextFromType_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clCreateImage", referenced from:
      _clCreateImage_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clCreateImage2D", referenced from:
      _clCreateImage2D_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clCreateImage3D", referenced from:
      _clCreateImage3D_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clCreateKernel", referenced from:
      _clCreateKernel_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clCreateKernelsInProgram", referenced from:
      _clCreateKernelsInProgram_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clCreateProgramWithBinary", referenced from:
      _clCreateProgramWithBinary_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clCreateProgramWithBuiltInKernels", referenced from:
      _clCreateProgramWithBuiltInKernels_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clCreateProgramWithSource", referenced from:
      _clCreateProgramWithSource_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clCreateSampler", referenced from:
      _clCreateSampler_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clCreateSubBuffer", referenced from:
      _clCreateSubBuffer_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clCreateSubDevices", referenced from:
      _clCreateSubDevices_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clCreateUserEvent", referenced from:
      _clCreateUserEvent_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clEnqueueBarrier", referenced from:
      _clEnqueueBarrier_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clEnqueueBarrierWithWaitList", referenced from:
      _clEnqueueBarrierWithWaitList_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clEnqueueCopyBuffer", referenced from:
      _clEnqueueCopyBuffer_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clEnqueueCopyBufferRect", referenced from:
      _clEnqueueCopyBufferRect_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clEnqueueCopyBufferToImage", referenced from:
      _clEnqueueCopyBufferToImage_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clEnqueueCopyImage", referenced from:
      _clEnqueueCopyImage_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clEnqueueCopyImageToBuffer", referenced from:
      _clEnqueueCopyImageToBuffer_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clEnqueueFillBuffer", referenced from:
      _clEnqueueFillBuffer_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clEnqueueFillImage", referenced from:
      _clEnqueueFillImage_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clEnqueueMapBuffer", referenced from:
      _clEnqueueMapBuffer_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clEnqueueMapImage", referenced from:
      _clEnqueueMapImage_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clEnqueueMarker", referenced from:
      _clEnqueueMarker_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clEnqueueMarkerWithWaitList", referenced from:
      _clEnqueueMarkerWithWaitList_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clEnqueueMigrateMemObjects", referenced from:
      _clEnqueueMigrateMemObjects_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clEnqueueNDRangeKernel", referenced from:
      _clEnqueueNDRangeKernel_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clEnqueueNativeKernel", referenced from:
      _clEnqueueNativeKernel_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clEnqueueReadBuffer", referenced from:
      _clEnqueueReadBuffer_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clEnqueueReadBufferRect", referenced from:
      _clEnqueueReadBufferRect_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clEnqueueReadImage", referenced from:
      _clEnqueueReadImage_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clEnqueueTask", referenced from:
      _clEnqueueTask_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clEnqueueUnmapMemObject", referenced from:
      _clEnqueueUnmapMemObject_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clEnqueueWaitForEvents", referenced from:
      _clEnqueueWaitForEvents_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clEnqueueWriteBuffer", referenced from:
      _clEnqueueWriteBuffer_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clEnqueueWriteBufferRect", referenced from:
      _clEnqueueWriteBufferRect_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clEnqueueWriteImage", referenced from:
      _clEnqueueWriteImage_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clFinish", referenced from:
      _clFinish_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clFlush", referenced from:
      _clFlush_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clGetCommandQueueInfo", referenced from:
      _clGetCommandQueueInfo_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clGetContextInfo", referenced from:
      _clGetContextInfo_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clGetDeviceIDs", referenced from:
      _clGetDeviceIDs_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clGetDeviceInfo", referenced from:
      _clGetDeviceInfo_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clGetEventInfo", referenced from:
      _clGetEventInfo_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clGetEventProfilingInfo", referenced from:
      _clGetEventProfilingInfo_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clGetExtensionFunctionAddress", referenced from:
      _clGetExtensionFunctionAddress_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clGetExtensionFunctionAddressForPlatform", referenced from:
      _clGetExtensionFunctionAddressForPlatform_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clGetImageInfo", referenced from:
      _clGetImageInfo_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clGetKernelArgInfo", referenced from:
      _clGetKernelArgInfo_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clGetKernelInfo", referenced from:
      _clGetKernelInfo_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clGetKernelWorkGroupInfo", referenced from:
      _clGetKernelWorkGroupInfo_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clGetMemObjectInfo", referenced from:
      _clGetMemObjectInfo_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clGetPlatformIDs", referenced from:
      _clGetPlatformIDs_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clGetPlatformInfo", referenced from:
      _clGetPlatformInfo_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clGetProgramBuildInfo", referenced from:
      _clGetProgramBuildInfo_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clGetProgramInfo", referenced from:
      _clGetProgramInfo_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clGetSamplerInfo", referenced from:
      _clGetSamplerInfo_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clGetSupportedImageFormats", referenced from:
      _clGetSupportedImageFormats_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clLinkProgram", referenced from:
      _clLinkProgram_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clReleaseCommandQueue", referenced from:
      _clReleaseCommandQueue_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clReleaseContext", referenced from:
      _clReleaseContext_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clReleaseDevice", referenced from:
      _clReleaseDevice_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clReleaseEvent", referenced from:
      _clReleaseEvent_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clReleaseKernel", referenced from:
      _clReleaseKernel_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clReleaseMemObject", referenced from:
      _clReleaseMemObject_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clReleaseProgram", referenced from:
      _clReleaseProgram_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clReleaseSampler", referenced from:
      _clReleaseSampler_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clRetainCommandQueue", referenced from:
      _clRetainCommandQueue_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clRetainContext", referenced from:
      _clRetainContext_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clRetainDevice", referenced from:
      _clRetainDevice_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clRetainEvent", referenced from:
      _clRetainEvent_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clRetainKernel", referenced from:
      _clRetainKernel_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clRetainMemObject", referenced from:
      _clRetainMemObject_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clRetainProgram", referenced from:
      _clRetainProgram_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clRetainSampler", referenced from:
      _clRetainSampler_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clSetEventCallback", referenced from:
      _clSetEventCallback_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clSetKernelArg", referenced from:
      _clSetKernelArg_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clSetMemObjectDestructorCallback", referenced from:
      _clSetMemObjectDestructorCallback_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clSetUserEventStatus", referenced from:
      _clSetUserEventStatus_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clUnloadCompiler", referenced from:
      _clUnloadCompiler_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clUnloadPlatformCompiler", referenced from:
      _clUnloadPlatformCompiler_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_clWaitForEvents", referenced from:
      _clWaitForEvents_pfn in libopencv_core.a[58](opencl_core.cpp.o)
  "_objc_alloc", referenced from:
      _cvNamedWindow in libopencv_highgui.a[5](window_cocoa.mm.o)
      -[CVView setImageData:] in libopencv_highgui.a[5](window_cocoa.mm.o)
      -[CVView setImageData:] in libopencv_highgui.a[5](window_cocoa.mm.o)
      -[CVSlider init] in libopencv_highgui.a[5](window_cocoa.mm.o)
      -[CVSlider init] in libopencv_highgui.a[5](window_cocoa.mm.o)
  "_objc_alloc_init", referenced from:
      _cvInitSystem in libopencv_highgui.a[5](window_cocoa.mm.o)
      _cvInitSystem in libopencv_highgui.a[5](window_cocoa.mm.o)
      _cvDestroyWindow in libopencv_highgui.a[5](window_cocoa.mm.o)
      _cvDestroyWindow in libopencv_highgui.a[5](window_cocoa.mm.o)
      _cvDestroyAllWindows in libopencv_highgui.a[5](window_cocoa.mm.o)
      _cvShowImage in libopencv_highgui.a[5](window_cocoa.mm.o)
      _cvShowImage in libopencv_highgui.a[5](window_cocoa.mm.o)
      _cvShowImage in libopencv_highgui.a[5](window_cocoa.mm.o)
      ...
  "_objc_enumerationMutation", referenced from:
      _cvDestroyAllWindows in libopencv_highgui.a[5](window_cocoa.mm.o)
      _cvGetWindowName in libopencv_highgui.a[5](window_cocoa.mm.o)
      -[CVView setFrameSize:] in libopencv_highgui.a[5](window_cocoa.mm.o)
  "_objc_getProperty", referenced from:
      -[CVWindow sliders] in libopencv_highgui.a[5](window_cocoa.mm.o)
      -[CVWindow slidersKeys] in libopencv_highgui.a[5](window_cocoa.mm.o)
      -[CVView image] in libopencv_highgui.a[5](window_cocoa.mm.o)
      -[CVView imageView] in libopencv_highgui.a[5](window_cocoa.mm.o)
      -[CVSlider slider] in libopencv_highgui.a[5](window_cocoa.mm.o)
      -[CVSlider name] in libopencv_highgui.a[5](window_cocoa.mm.o)
      -[CVSlider initialName] in libopencv_highgui.a[5](window_cocoa.mm.o)
      ...
  "_objc_msgSend", referenced from:
       in objc-stubs-file
  "_objc_msgSendSuper2", referenced from:
      -[CVWindow keyDown:] in libopencv_highgui.a[5](window_cocoa.mm.o)
      -[CVWindow contentView] in libopencv_highgui.a[5](window_cocoa.mm.o)
      -[CVView init] in libopencv_highgui.a[5](window_cocoa.mm.o)
      -[CVView setFrameSize:] in libopencv_highgui.a[5](window_cocoa.mm.o)
      -[CVView drawRect:] in libopencv_highgui.a[5](window_cocoa.mm.o)
      -[CVSlider init] in libopencv_highgui.a[5](window_cocoa.mm.o)
  "_objc_opt_respondsToSelector", referenced from:
      _cvShowImage in libopencv_highgui.a[5](window_cocoa.mm.o)
      _cvCreateTrackbar2 in libopencv_highgui.a[5](window_cocoa.mm.o)
      _cvGetTrackbarPos in libopencv_highgui.a[5](window_cocoa.mm.o)
      _cvSetTrackbarPos in libopencv_highgui.a[5](window_cocoa.mm.o)
      _cvSetTrackbarPos in libopencv_highgui.a[5](window_cocoa.mm.o)
      _cvSetTrackbarMax in libopencv_highgui.a[5](window_cocoa.mm.o)
      _cvSetTrackbarMin in libopencv_highgui.a[5](window_cocoa.mm.o)
      ...
  "_objc_opt_self", referenced from:
      cvSetPropTopmost_COCOA(char const*, bool) in libopencv_highgui.a[5](window_cocoa.mm.o)
  "_objc_release", referenced from:
      -[CVView setImageData:] in libopencv_highgui.a[5](window_cocoa.mm.o)
      -[CVView setImageData:] in libopencv_highgui.a[5](window_cocoa.mm.o)
      -[CVView drawRect:] in libopencv_highgui.a[5](window_cocoa.mm.o)
  "_objc_setProperty_atomic", referenced from:
      -[CVWindow setSliders:] in libopencv_highgui.a[5](window_cocoa.mm.o)
      -[CVWindow setSlidersKeys:] in libopencv_highgui.a[5](window_cocoa.mm.o)
      -[CVView setImage:] in libopencv_highgui.a[5](window_cocoa.mm.o)
      -[CVView setImageView:] in libopencv_highgui.a[5](window_cocoa.mm.o)
      -[CVSlider setSlider:] in libopencv_highgui.a[5](window_cocoa.mm.o)
      -[CVSlider setName:] in libopencv_highgui.a[5](window_cocoa.mm.o)
      -[CVSlider setInitialName:] in libopencv_highgui.a[5](window_cocoa.mm.o)
      ...
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
fspindle commented 2 months ago

This is because -llibprotobuf -lade -littnotify -llibjpeg-turbo -llibwebp -llibpng -llibtiff -llibopenjp2 -lIlmImf -lzlib -ltegra_hal -framework OpenCL -lAccelerate.framework -lm -ldl -framework Cocoa -framework AppKit -lIconv::Iconv are not static libs and therefore not embedded in libopencv_<module>.a libraries.

In your CMakeLists.txt file I would suggest to use pkg_check_modules function (see cmake FindPkgConfig) to get the same result as pkg-config --cflags --libs --static opencv4 with something like

pkg_check_modules(OPENCV REQUIRED opencv4)

that should set the following output vars OPENCV_INCLUDE_DIRS, OPENCV_STATIC_LIBRARIES and OPENCV_LIBRARIES.

Som5ra commented 2 months ago

Thanks a lot! I have tried it but encounter another question:

CMake Error at /usr/local/lib/cmake/opencv4/OpenCVModules.cmake:375 (set_target_properties):
  The link interface of target "opencv_wechat_qrcode" contains:

    Iconv::Iconv

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.

Call Stack (most recent call first):
  /usr/local/lib/cmake/opencv4/OpenCVConfig.cmake:126 (include)
  cmake/VISPUtils.cmake:541 (find_package)
  CMakeLists.txt:655 (VP_OPTION)

Then I rebuild opencv without opencv_wechat_qrcode module, then try to build visp again:

ld: library not found for -lcrt0.o
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [modules/core/testXmlParserCamera] Error 1
make[1]: *** [modules/core/CMakeFiles/testXmlParserCamera.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 21%] Linking CXX executable testCameraParametersConversion
ld: library not found for -lcrt0.o
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [modules/core/testCameraParametersConversion] Error 1
make[1]: *** [modules/core/CMakeFiles/testCameraParametersConversion.dir/all] Error 2
[ 21%] Linking CXX executable testJsonCamera
ld: library not found for -lcrt0.o
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [modules/core/testJsonCamera] Error 1
make[1]: *** [modules/core/CMakeFiles/testJsonCamera.dir/all] Error 2
[ 21%] Linking CXX executable perfGaussianFilter
ld: library not found for -lcrt0.o
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [modules/core/perfGaussianFilter] Error 1
make[1]: *** [modules/core/CMakeFiles/perfGaussianFilter.dir/all] Error 2
[ 21%] Linking CXX executable perfImageAddSub
ld: library not found for -lcrt0.o
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [modules/core/perfImageAddSub] Error 1
make[1]: *** [modules/core/CMakeFiles/perfImageAddSub.dir/all] Error 2
[ 21%] Linking CXX executable perfColorConversion
ld: library not found for -lcrt0.o
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [modules/core/perfColorConversion] Error 1
make[1]: *** [modules/core/CMakeFiles/perfColorConversion.dir/all] Error 2
[ 21%] Linking CXX executable perfImageResize
[ 21%] Linking CXX executable perfImageMorphology
ld: library not found for -lcrt0.o
ld: library not found for -lcrt0.o
clang: clang: error: error: linker command failed with exit code 1 (use -v to see invocation)
linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [modules/core/perfImageMorphology] Error 1
make[2]: *** [modules/core/perfImageResize] Error 1
make[1]: *** [modules/core/CMakeFiles/perfImageMorphology.dir/all] Error 2
make[1]: *** [modules/core/CMakeFiles/perfImageResize.dir/all] Error 2
make: *** [all] Error 2

I searched it and found this: https://forum.crystal-lang.org/t/cannot-compile-statically-ld-library-not-found-for-lcrt0-o/4070/2, have you ever met this?

My modification: In VISPUtils.cmake, add this in https://github.com/lagadic/visp/blob/master/cmake/VISPUtils.cmake#L502:

  if("${__first_package}" STREQUAL "OpenCV")
    set(OpenCV_STATIC ON)
    set(CMAKE_EXE_LINKER_FLAGS "-static")
    pkg_check_modules(OPENCV REQUIRED opencv4)
  endif()

modify https://github.com/lagadic/visp/blob/master/cmake/templates/VISPConfig.cmake.in#L377 to:

target_link_libraries(${target} ${VISP_LIBRARIES} ${OPENCV_STATIC_LIBRARIES})

More information:

if(USE_OPENCV)
  status("    OPENCV_STATIC_LIBRARIES:" "${OPENCV_STATIC_LIBRARIES}")
  status("    OPENCV_LIBRARIES:" "${OPENCV_LIBRARIES}")

  status("    OpenCV_STATIC:" "${OpenCV_STATIC}")
  status("    OpenCV_LIBS:" "${OpenCV_LIBS}")
  status("    OpenCV_INCLUDE_DIRS:" "${OpenCV_INCLUDE_DIRS}")

  status("    OpenCV dir:" "${OpenCV_DIR}")
endif()

output:

--   Library dirs:
--     OPENCV_STATIC_LIBRARIES:     opencv_gapi opencv_stitching opencv_aruco opencv_bgsegm opencv_bioinspired opencv_ccalib opencv_dnn_objdetect opencv_dnn_superres opencv_dpm opencv_face opencv_fuzzy opencv_hfs opencv_img_hash opencv_intensity_transform opencv_line_descriptor opencv_mcc opencv_quality opencv_rapid opencv_reg opencv_rgbd opencv_saliency opencv_signal opencv_stereo opencv_structured_light opencv_phase_unwrapping opencv_superres opencv_optflow opencv_surface_matching opencv_tracking opencv_highgui opencv_datasets opencv_text opencv_plot opencv_videostab opencv_videoio opencv_xfeatures2d opencv_shape opencv_ml opencv_ximgproc opencv_video opencv_xobjdetect opencv_objdetect opencv_calib3d opencv_imgcodecs opencv_features2d opencv_dnn opencv_flann opencv_xphoto opencv_photo opencv_imgproc opencv_core libprotobuf ade ittnotify libjpeg-turbo libwebp libpng libtiff libopenjp2 IlmImf zlib tegra_hal Accelerate.framework m dl
--     OPENCV_LIBRARIES:            opencv_gapi opencv_stitching opencv_aruco opencv_bgsegm opencv_bioinspired opencv_ccalib opencv_dnn_objdetect opencv_dnn_superres opencv_dpm opencv_face opencv_fuzzy opencv_hfs opencv_img_hash opencv_intensity_transform opencv_line_descriptor opencv_mcc opencv_quality opencv_rapid opencv_reg opencv_rgbd opencv_saliency opencv_signal opencv_stereo opencv_structured_light opencv_phase_unwrapping opencv_superres opencv_optflow opencv_surface_matching opencv_tracking opencv_highgui opencv_datasets opencv_text opencv_plot opencv_videostab opencv_videoio opencv_xfeatures2d opencv_shape opencv_ml opencv_ximgproc opencv_video opencv_xobjdetect opencv_objdetect opencv_calib3d opencv_imgcodecs opencv_features2d opencv_dnn opencv_flann opencv_xphoto opencv_photo opencv_imgproc opencv_core
--     OpenCV_STATIC:               ON
--     OpenCV_LIBS:                 opencv_calib3d opencv_core opencv_dnn opencv_features2d opencv_flann opencv_gapi opencv_highgui opencv_imgcodecs opencv_imgproc opencv_ml opencv_objdetect opencv_photo opencv_stitching opencv_video opencv_videoio opencv_aruco opencv_bgsegm opencv_bioinspired opencv_ccalib opencv_datasets opencv_dnn_objdetect opencv_dnn_superres opencv_dpm opencv_face opencv_fuzzy opencv_hfs opencv_img_hash opencv_intensity_transform opencv_line_descriptor opencv_mcc opencv_optflow opencv_phase_unwrapping opencv_plot opencv_quality opencv_rapid opencv_reg opencv_rgbd opencv_saliency opencv_shape opencv_signal opencv_stereo opencv_structured_light opencv_superres opencv_surface_matching opencv_text opencv_tracking opencv_videostab opencv_xfeatures2d opencv_ximgproc opencv_xobjdetect opencv_xphoto
--     OpenCV_INCLUDE_DIRS:         /usr/local/include/opencv4
--     OpenCV dir:                  /usr/local/lib/cmake/opencv4

Thanks again!

Som5ra commented 2 months ago

Hi @fspindle , I some more updates about this issue.

I just solved the 'lcrt0.o' problem by disable building all the executable program (with main() entry) like example, test, tutorial. Only keep building the visp components and my own code, then obtain a .bundle file which contains opencv components + visp components + my own code and it works well now when called by C# side.

But because of this 'lcrt0.o', I cannot static compile any executable file, which means I cannot debug. Is there any solution about this?

https://forum.crystal-lang.org/t/cannot-compile-statically-ld-library-not-found-for-lcrt0-o/4070/2

https://developer.apple.com/library/archive/qa/qa1118/_index.html

people here say MACOS does not support pure static build, but I don't get why I can static build visp base on a dynamic opencv, then ofc I would get a .bundle including visp components by doing so but need prepare opencv additionally.

Thanks a lot!

fspindle commented 2 months ago

No idea concerning lcrt0.o. For debugging, you can try on Ubuntu...

Som5ra commented 2 months ago

No idea concerning lcrt0.o. For debugging, you can try on Ubuntu...

Really thanks, I successfully built the static .so and the .bundle.

I am still wondering that what extra steps I need to do if I want use the static .so/.bundle to write C# in unity, then build the whole unity project into ios/android side. For example in ios, do I need to build a specific visp version for ios? and opencv for ios? or I need to disable some modules from visp or opencv? Do you have any advice for this?

For now the phone side just connot load the dll after I built the ios project, it says

DllNotFoundException: Unable to load DLL 'UnityWrapper'. Tried the load the following dynamic libraries: Unable to load dynamic library '/UnityWrapper' because of 'Failed to open the requested dynamic library (0x06000000) dlerror() = dlopen(/UnityWrapper, 0x0005): tried: '/UnityWrapper' (no such file), '/private/preboot/Cryptexes/OS/UnityWrapper' (no such file), '/UnityWrapper' (no such file)

Thanks a lot in advance!!

elvis75k commented 1 month ago

No idea concerning lcrt0.o. For debugging, you can try on Ubuntu...

Really thanks, I successfully built the static .so and the .bundle.

I am still wondering that what extra steps I need to do if I want use the static .so/.bundle to write C# in unity, then build the whole unity project into ios/android side. For example in ios, do I need to build a specific visp version for ios? and opencv for ios? or I need to disable some modules from visp or opencv? Do you have any advice for this?

For now the phone side just connot load the dll after I built the ios project, it says

DllNotFoundException: Unable to load DLL 'UnityWrapper'. Tried the load the following dynamic libraries: Unable to load dynamic library '/UnityWrapper' because of 'Failed to open the requested dynamic library (0x06000000) dlerror() = dlopen(/UnityWrapper, 0x0005): tried: '/UnityWrapper' (no such file), '/private/preboot/Cryptexes/OS/UnityWrapper' (no such file), '/UnityWrapper' (no such file)

Thanks a lot in advance!!

While testing ViSP for the first time, i'm having the exact same error in the XCode's. This is happening when testing the Unity Visp wrapper tutorial project build for ios platform. In editor works just fine though.

What it missing to generate an app that works on ios from unity? Any hint for building from Unity on iOS/Android would be very helpful.