Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. Issues with Building OpenCV for Android using Qt 6.4.2 on Windows 10
Forum Updated to NodeBB v4.3 + New Features

Issues with Building OpenCV for Android using Qt 6.4.2 on Windows 10

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
13 Posts 2 Posters 951 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • KaguroK Kaguro

    Hi Guys!

    I'm trying to build and use OpenCV for Android in my Qt 6.4.2 project on Windows 10, but I'm running into some issues.

    Here’s what I’ve done so far:

    I added OpenCV in my project (pro file) like this:

    INCLUDEPATH += F:/Asztal/VP/OpenCV-android-sdk/sdk/native/jni/include/
    
    LIBS += \
            -L"F:/Asztal/VP/OpenCV-android-sdk/sdk/native/3rdparty/libs/armeabi-v7a/" \
            -L"F:/Asztal/VP/OpenCV-android-sdk/sdk/native/libs/armeabi-v7a/" \
            -L"F:/Asztal/VP/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a/" \
            -lopencv_core \
            -lopencv_highgui \
            -lopencv_imgproc \
            -lopencv_imgcodecs \
            -lopencv_features2d \
            -lopencv_calib3d
    
    

    I attempted to use OpenCV functions, like this:

    #include <opencv2/opencv.hpp>
    cv::Mat QImageToCvMat(const QImage &image) {
        return cv::Mat(image.height(), image.width(), CV_8UC4,
                       (void*)image.constBits(), image.bytesPerLine()).clone();
    }
    
    QImage CvMatToQImage(const cv::Mat &mat) {
        return QImage(mat.data, mat.cols, mat.rows, mat.step, QImage::Format_RGBA8888).copy();
    }
    
    QImage upscaleWithOpenCV(const QImage &image, int newWidth, int newHeight) {
        cv::Mat mat = QImageToCvMat(image);
        cv::Mat resizedMat;
        cv::resize(mat, resizedMat, cv::Size(newWidth, newHeight), 0, 0, cv::INTER_LANCZOS4);
        return CvMatToQImage(resizedMat);
    }
    
    //using:
    QLabel *lajos = new QLabel();
    QImage betterScaledImage = upscaleWithOpenCV(preview, this->width(), this->height());
    lajos->setPixmap(QPixmap::fromImage(betterScaledImage));
    lajos->show();
    

    The include is correct because, I didnt get error then. But When I try to rebuild I get these errors:
    2025-03-24_09h09_15.png
    2025-03-24_09h10_24.png
    I’ve tried different approaches, but I haven’t been able to resolve the issue. Has anyone successfully built OpenCV for Android using Qt on Windows? Any advice or guidance would be greatly appreciated!

    Thanks in advance!

    jsulmJ Offline
    jsulmJ Offline
    jsulm
    Lifetime Qt Champion
    wrote on last edited by
    #2

    @Kaguro Please post errors as text, not picture.
    You should look for the very first error.
    Also check to which libraries the symbols belong which are not found.

    https://forum.qt.io/topic/113070/qt-code-of-conduct

    KaguroK 1 Reply Last reply
    0
    • jsulmJ jsulm

      @Kaguro Please post errors as text, not picture.
      You should look for the very first error.
      Also check to which libraries the symbols belong which are not found.

      KaguroK Offline
      KaguroK Offline
      Kaguro
      wrote on last edited by Kaguro
      #3

      @jsulm okay sorry these errors kinda same:

      ld: error: undefined symbol: carotene_o4t::isSupportedConfiguration()
      >>> referenced by arithm.dispatch.cpp
      >>>               arithm.dispatch.cpp.o:(cv::hal::add8u(unsigned char const*, unsigned int, unsigned char const*, unsigned int, unsigned char*, unsigned int, int, int, void*)) in archive F:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a/libopencv_core.a
      >>> referenced by arithm.dispatch.cpp
      >>>               arithm.dispatch.cpp.o:(cv::hal::add8s(signed char const*, unsigned int, signed char const*, unsigned int, signed char*, unsigned int, int, int, void*)) in archive F:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a/libopencv_core.a
      

      (the path is a little different, because I tried some changes)

      jsulmJ 1 Reply Last reply
      0
      • KaguroK Kaguro

        @jsulm okay sorry these errors kinda same:

        ld: error: undefined symbol: carotene_o4t::isSupportedConfiguration()
        >>> referenced by arithm.dispatch.cpp
        >>>               arithm.dispatch.cpp.o:(cv::hal::add8u(unsigned char const*, unsigned int, unsigned char const*, unsigned int, unsigned char*, unsigned int, int, int, void*)) in archive F:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a/libopencv_core.a
        >>> referenced by arithm.dispatch.cpp
        >>>               arithm.dispatch.cpp.o:(cv::hal::add8s(signed char const*, unsigned int, signed char const*, unsigned int, signed char*, unsigned int, int, int, void*)) in archive F:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a/libopencv_core.a
        

        (the path is a little different, because I tried some changes)

        jsulmJ Offline
        jsulmJ Offline
        jsulm
        Lifetime Qt Champion
        wrote on last edited by
        #4

        @Kaguro said in Issues with Building OpenCV for Android using Qt 6.4.2 on Windows 10:

        armeabi-v7a

        I'm not sure this is the correct ABI. Check the ABI of your Android Qt installation, it is probably v8a. ABIs must match.

        https://forum.qt.io/topic/113070/qt-code-of-conduct

        KaguroK 2 Replies Last reply
        0
        • jsulmJ jsulm

          @Kaguro said in Issues with Building OpenCV for Android using Qt 6.4.2 on Windows 10:

          armeabi-v7a

          I'm not sure this is the correct ABI. Check the ABI of your Android Qt installation, it is probably v8a. ABIs must match.

          KaguroK Offline
          KaguroK Offline
          Kaguro
          wrote on last edited by
          #5

          @jsulm Its armeabi-v7a I checked. I always build with this to android

          1 Reply Last reply
          0
          • jsulmJ jsulm

            @Kaguro said in Issues with Building OpenCV for Android using Qt 6.4.2 on Windows 10:

            armeabi-v7a

            I'm not sure this is the correct ABI. Check the ABI of your Android Qt installation, it is probably v8a. ABIs must match.

            KaguroK Offline
            KaguroK Offline
            Kaguro
            wrote on last edited by Kaguro
            #6

            @jsulm I download from there:
            https://github.com/opencv/opencv/releases/tag/4.11.0
            the "opencv-4.11.0-android-sdk" And I just use it... this can be the problem?

            jsulmJ 2 Replies Last reply
            0
            • KaguroK Kaguro

              @jsulm I download from there:
              https://github.com/opencv/opencv/releases/tag/4.11.0
              the "opencv-4.11.0-android-sdk" And I just use it... this can be the problem?

              jsulmJ Offline
              jsulmJ Offline
              jsulm
              Lifetime Qt Champion
              wrote on last edited by
              #7

              @Kaguro Then look in the build log for linker warnings: if some libs are incompatible you will get warning.
              And as I suggested before: check which libraries provide the symbols which are not found and then check whether you link these libs.
              For example carotene_o4t::isSupportedConfiguration seems to come from libtegra_hal (see https://stackoverflow.com/questions/41665655/what-is-carotene-o4t-and-why-does-it-cause-issues-with-compiling-a-program-using).

              https://forum.qt.io/topic/113070/qt-code-of-conduct

              1 Reply Last reply
              0
              • KaguroK Kaguro

                @jsulm I download from there:
                https://github.com/opencv/opencv/releases/tag/4.11.0
                the "opencv-4.11.0-android-sdk" And I just use it... this can be the problem?

                jsulmJ Offline
                jsulmJ Offline
                jsulm
                Lifetime Qt Champion
                wrote on last edited by
                #8

                @Kaguro said in Issues with Building OpenCV for Android using Qt 6.4.2 on Windows 10:

                this can be the problem?

                It can if the ABIs do not match.

                https://forum.qt.io/topic/113070/qt-code-of-conduct

                KaguroK 1 Reply Last reply
                0
                • jsulmJ jsulm

                  @Kaguro said in Issues with Building OpenCV for Android using Qt 6.4.2 on Windows 10:

                  this can be the problem?

                  It can if the ABIs do not match.

                  KaguroK Offline
                  KaguroK Offline
                  Kaguro
                  wrote on last edited by
                  #9

                  @jsulm
                  so I try this now:

                  LIBS += \
                          -L"F:/Asztal/VP/mew/OpenCV-android-sdk/sdk/native/3rdparty/libs/armeabi-v7a/" \
                          -L"F:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/libs/armeabi-v7a/" \
                          -L"F:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a/" \
                          -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a -lopencv_core \
                          -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a -lopencv_dnn \
                          -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a -lopencv_flann \
                          -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a -lopencv_highgui \
                          -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a -lopencv_gapi \
                          -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a -lopencv_ml \
                          -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a -lopencv_objdetect \
                          -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a -lopencv_photo \
                          -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a -lopencv_imgproc \
                          -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a -lopencv_imgcodecs \
                          -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a -lopencv_features2d \
                          -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a -lopencv_calib3d \
                          -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a -lopencv_video \
                          -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a -lopencv_videoio \
                          -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/3rdparty/libs/armeabi-v7a -ltegra_hal \
                          -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a -lopencv_stitching \
                          -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/3rdparty/libs/armeabi-v7a -ltbb
                  

                  And now I got "only" 15 errors for example:
                  :-1: error: error: undefined symbol: android_getCpuFeatures
                  :-1: error: error: undefined symbol: __itt_thread_set_name_ptr__3_0
                  :-1: error: error: undefined symbol: __itt_string_handle_create_ptr__3_0
                  (etc..)

                  And it looks like this is from libopencv_core. But I already linked the libopencv_core

                  jsulmJ 1 Reply Last reply
                  0
                  • KaguroK Kaguro

                    @jsulm
                    so I try this now:

                    LIBS += \
                            -L"F:/Asztal/VP/mew/OpenCV-android-sdk/sdk/native/3rdparty/libs/armeabi-v7a/" \
                            -L"F:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/libs/armeabi-v7a/" \
                            -L"F:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a/" \
                            -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a -lopencv_core \
                            -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a -lopencv_dnn \
                            -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a -lopencv_flann \
                            -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a -lopencv_highgui \
                            -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a -lopencv_gapi \
                            -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a -lopencv_ml \
                            -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a -lopencv_objdetect \
                            -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a -lopencv_photo \
                            -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a -lopencv_imgproc \
                            -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a -lopencv_imgcodecs \
                            -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a -lopencv_features2d \
                            -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a -lopencv_calib3d \
                            -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a -lopencv_video \
                            -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a -lopencv_videoio \
                            -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/3rdparty/libs/armeabi-v7a -ltegra_hal \
                            -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a -lopencv_stitching \
                            -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/3rdparty/libs/armeabi-v7a -ltbb
                    

                    And now I got "only" 15 errors for example:
                    :-1: error: error: undefined symbol: android_getCpuFeatures
                    :-1: error: error: undefined symbol: __itt_thread_set_name_ptr__3_0
                    :-1: error: error: undefined symbol: __itt_string_handle_create_ptr__3_0
                    (etc..)

                    And it looks like this is from libopencv_core. But I already linked the libopencv_core

                    jsulmJ Offline
                    jsulmJ Offline
                    jsulm
                    Lifetime Qt Champion
                    wrote on last edited by
                    #10

                    @Kaguro Did you check whether there are any linker warning about incompatible libraries?
                    You should also check the linker call to make sure all the libs were passed to it.

                    https://forum.qt.io/topic/113070/qt-code-of-conduct

                    KaguroK 1 Reply Last reply
                    0
                    • jsulmJ jsulm

                      @Kaguro Did you check whether there are any linker warning about incompatible libraries?
                      You should also check the linker call to make sure all the libs were passed to it.

                      KaguroK Offline
                      KaguroK Offline
                      Kaguro
                      wrote on last edited by
                      #11

                      @jsulm Sorry I am really a beginner and I don't understand exactly what you would ask for.
                      I just see errors and this is the whole log what I see :

                      C:\Users\Kaguro\AppData\Local\Android\Sdk\ndk\23.1.7779620/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++ -target armv7a-linux-androideabi23 -fno-limit-debug-info -Wl,--exclude-libs,libunwind.a -Wl,-soname,libPoorMans_thatsyou_client_armeabi-v7a.so -Wl,--build-id=sha1 -Wl,--no-undefined -Wl,-z,noexecstack -shared -o libPoorMans_thatsyou_client_armeabi-v7a.so  @object_script.libPoorMans_thatsyou_client_armeabi-v7a.so   -LF:/Asztal/VP/mew/OpenCV-android-sdk/sdk/native/3rdparty/libs/armeabi-v7a/ -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/libs/armeabi-v7a/ -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a/ -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a -lopencv_core -lopencv_dnn -lopencv_flann -lopencv_highgui -lopencv_gapi -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_imgproc -lopencv_imgcodecs -lopencv_features2d -lopencv_calib3d -lopencv_video -lopencv_videoio -LF:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/3rdparty/libs/armeabi-v7a -ltegra_hal -lopencv_stitching -ltbb D:/Qt/6.4.2/android_armv7/lib/libQt6MultimediaWidgets_armeabi-v7a.so D:/Qt/6.4.2/android_armv7/lib/libQt6Multimedia_armeabi-v7a.so D:/Qt/6.4.2/android_armv7/lib/libQt6Widgets_armeabi-v7a.so D:/Qt/6.4.2/android_armv7/lib/libQt6Gui_armeabi-v7a.so -lEGL D:/Qt/6.4.2/android_armv7/lib/libQt6Network_armeabi-v7a.so D:/Qt/6.4.2/android_armv7/lib/libQt6Core_armeabi-v7a.so -llog -pthread -lGLESv2   -llog -lz -lm -ldl -lc
                      ld: error: undefined symbol: android_getCpuFeatures
                      >>> referenced by system.cpp
                      >>>               system.cpp.o:(cv::HWFeatures::initialize()) in archive F:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a/libopencv_core.a
                      
                      ld: error: undefined symbol: __itt_thread_set_name_ptr__3_0
                      >>> referenced by system.cpp
                      >>>               system.cpp.o:(cv::TLSData<cv::(anonymous namespace)::ThreadID>::createDataInstance() const) in archive F:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a/libopencv_core.a
                      
                      ld: error: undefined symbol: __itt_string_handle_create_ptr__3_0
                      >>> referenced by trace.cpp
                      >>>               trace.cpp.o:(cv::utils::trace::details::Region::LocationExtraData::LocationExtraData(cv::utils::trace::details::Region::LocationStaticStorage const&)) in archive F:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a/libopencv_core.a
                      >>> referenced by trace.cpp
                      >>>               trace.cpp.o:(cv::utils::trace::details::Region::Impl::leaveRegion(cv::utils::trace::details::TraceManagerThreadLocal&)) in archive F:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a/libopencv_core.a
                      >>> referenced by trace.cpp
                      >>>               trace.cpp.o:(cv::utils::trace::details::TraceManager::TraceManager()) in archive F:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a/libopencv_core.a
                      >>> referenced 1 more times
                      
                      ld: error: undefined symbol: __itt_api_version_ptr__3_0
                      >>> referenced by trace.cpp
                      >>>               trace.cpp.o:(cv::utils::trace::details::isITTEnabled()) in archive F:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a/libopencv_core.a
                      
                      ld: error: undefined symbol: __itt_domain_create_ptr__3_0
                      >>> referenced by trace.cpp
                      >>>               trace.cpp.o:(cv::utils::trace::details::isITTEnabled()) in archive F:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a/libopencv_core.a
                      
                      ld: error: undefined symbol: __itt_id_create_ptr__3_0
                      >>> referenced by trace.cpp
                      >>>               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 archive F:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a/libopencv_core.a
                      >>> referenced by trace.cpp
                      >>>               trace.cpp.o:(cv::utils::trace::details::Region::Impl::registerRegion(cv::utils::trace::details::TraceManagerThreadLocal&)) in archive F:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a/libopencv_core.a
                      
                      ld: error: undefined symbol: __itt_task_begin_ptr__3_0
                      >>> referenced by trace.cpp
                      >>>               trace.cpp.o:(cv::utils::trace::details::Region::Impl::enterRegion(cv::utils::trace::details::TraceManagerThreadLocal&)) in archive F:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a/libopencv_core.a
                      
                      ld: error: undefined symbol: __itt_id_destroy_ptr__3_0
                      >>> referenced by trace.cpp
                      >>>               trace.cpp.o:(cv::utils::trace::details::Region::Impl::~Impl()) in archive F:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a/libopencv_core.a
                      
                      ld: error: undefined symbol: __itt_metadata_add_ptr__3_0
                      >>> referenced by trace.cpp
                      >>>               trace.cpp.o:(cv::utils::trace::details::Region::Impl::leaveRegion(cv::utils::trace::details::TraceManagerThreadLocal&)) in archive F:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a/libopencv_core.a
                      >>> referenced by trace.cpp
                      >>>               trace.cpp.o:(cv::utils::trace::details::traceArg(cv::utils::trace::details::TraceArg const&, int)) in archive F:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a/libopencv_core.a
                      >>> referenced by trace.cpp
                      >>>               trace.cpp.o:(cv::utils::trace::details::traceArg(cv::utils::trace::details::TraceArg const&, long long)) in archive F:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a/libopencv_core.a
                      >>> referenced 1 more times
                      
                      ld: error: undefined symbol: __itt_task_end_ptr__3_0
                      >>> referenced by trace.cpp
                      >>>               trace.cpp.o:(cv::utils::trace::details::Region::Impl::leaveRegion(cv::utils::trace::details::TraceManagerThreadLocal&)) in archive F:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a/libopencv_core.a
                      
                      ld: error: undefined symbol: __itt_region_begin_ptr__3_0
                      >>> referenced by trace.cpp
                      >>>               trace.cpp.o:(cv::utils::trace::details::TraceManager::TraceManager()) in archive F:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a/libopencv_core.a
                      
                      ld: error: undefined symbol: __itt_region_end_ptr__3_0
                      >>> referenced by trace.cpp
                      >>>               trace.cpp.o:(cv::utils::trace::details::TraceManager::~TraceManager()) in archive F:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a/libopencv_core.a
                      
                      ld: error: undefined symbol: __itt_relation_add_ptr__3_0
                      >>> referenced by trace.cpp
                      >>>               trace.cpp.o:(cv::utils::trace::details::parallelForAttachNestedRegion(cv::utils::trace::details::Region const&)) in archive F:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a/libopencv_core.a
                      
                      ld: error: undefined symbol: __itt_metadata_str_add_ptr__3_0
                      >>> referenced by trace.cpp
                      >>>               trace.cpp.o:(cv::utils::trace::details::traceArg(cv::utils::trace::details::TraceArg const&, char const*)) in archive F:/Asztal/VP/new/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a/libopencv_core.a
                      clang++: error: linker command failed with exit code 1 (use -v to see invocation)
                      make: *** [Makefile:121: libPoorMans_thatsyou_client_armeabi-v7a.so] Error 1
                      15:40:32: The process "C:\Users\Kaguro\AppData\Local\Android\Sdk\ndk\23.1.7779620\prebuilt\windows-x86_64\bin\make.exe" exited with code 2.
                      15:40:33: Error while building/deploying project PoorMans_thatsyou_client (kit: Android Qt 6.4.2 Clang armeabi-v7a)
                      15:40:33: When executing step "Make"
                      

                      The opencv and the Qt use the same armeabi-v7a.

                      1 Reply Last reply
                      0
                      • KaguroK Kaguro

                        Hi Guys!

                        I'm trying to build and use OpenCV for Android in my Qt 6.4.2 project on Windows 10, but I'm running into some issues.

                        Here’s what I’ve done so far:

                        I added OpenCV in my project (pro file) like this:

                        INCLUDEPATH += F:/Asztal/VP/OpenCV-android-sdk/sdk/native/jni/include/
                        
                        LIBS += \
                                -L"F:/Asztal/VP/OpenCV-android-sdk/sdk/native/3rdparty/libs/armeabi-v7a/" \
                                -L"F:/Asztal/VP/OpenCV-android-sdk/sdk/native/libs/armeabi-v7a/" \
                                -L"F:/Asztal/VP/OpenCV-android-sdk/sdk/native/staticlibs/armeabi-v7a/" \
                                -lopencv_core \
                                -lopencv_highgui \
                                -lopencv_imgproc \
                                -lopencv_imgcodecs \
                                -lopencv_features2d \
                                -lopencv_calib3d
                        
                        

                        I attempted to use OpenCV functions, like this:

                        #include <opencv2/opencv.hpp>
                        cv::Mat QImageToCvMat(const QImage &image) {
                            return cv::Mat(image.height(), image.width(), CV_8UC4,
                                           (void*)image.constBits(), image.bytesPerLine()).clone();
                        }
                        
                        QImage CvMatToQImage(const cv::Mat &mat) {
                            return QImage(mat.data, mat.cols, mat.rows, mat.step, QImage::Format_RGBA8888).copy();
                        }
                        
                        QImage upscaleWithOpenCV(const QImage &image, int newWidth, int newHeight) {
                            cv::Mat mat = QImageToCvMat(image);
                            cv::Mat resizedMat;
                            cv::resize(mat, resizedMat, cv::Size(newWidth, newHeight), 0, 0, cv::INTER_LANCZOS4);
                            return CvMatToQImage(resizedMat);
                        }
                        
                        //using:
                        QLabel *lajos = new QLabel();
                        QImage betterScaledImage = upscaleWithOpenCV(preview, this->width(), this->height());
                        lajos->setPixmap(QPixmap::fromImage(betterScaledImage));
                        lajos->show();
                        

                        The include is correct because, I didnt get error then. But When I try to rebuild I get these errors:
                        2025-03-24_09h09_15.png
                        2025-03-24_09h10_24.png
                        I’ve tried different approaches, but I haven’t been able to resolve the issue. Has anyone successfully built OpenCV for Android using Qt on Windows? Any advice or guidance would be greatly appreciated!

                        Thanks in advance!

                        KaguroK Offline
                        KaguroK Offline
                        Kaguro
                        wrote on last edited by
                        #12

                        Somebody tried to use OpenCV with Qt c++ android with armeabi-v7a? I am very beginner in this kind of project, so I dont know what is the most correct way to use OpenCV with Qt Android. Has anyone tried it and succeeded?

                        jsulmJ 1 Reply Last reply
                        0
                        • KaguroK Kaguro

                          Somebody tried to use OpenCV with Qt c++ android with armeabi-v7a? I am very beginner in this kind of project, so I dont know what is the most correct way to use OpenCV with Qt Android. Has anyone tried it and succeeded?

                          jsulmJ Offline
                          jsulmJ Offline
                          jsulm
                          Lifetime Qt Champion
                          wrote on last edited by
                          #13

                          @Kaguro Please post whole build log.

                          https://forum.qt.io/topic/113070/qt-code-of-conduct

                          1 Reply Last reply
                          0

                          • Login

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Categories
                          • Recent
                          • Tags
                          • Popular
                          • Users
                          • Groups
                          • Search
                          • Get Qt Extensions
                          • Unsolved