Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Manohar
Beginner
93 Views

Regarding OpenVINO linker error while linking v2020_3_194 with Qt 5.15.1 on Mac OSX Catalina 10.15.6

Hi, 

We are facing with an issue with dylibs linking for a specific API, after upgrading Qt version from 5.12.5 to 5.15.1, using C++17 on Mac OS X Catalina 10.15.6.

Whenever we try to build our app we are getting this linker error:

Undefined symbols for architecture x86_64:

  "InferenceEngine::Core::LoadNetwork(InferenceEngine::CNNNetwork const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::map<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> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<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&)", referenced from:

 

We are invoking the above API in a static library as follows:

try {        const std::string devicename = "CPU";        std::map<std::string, std::string> config = {{ InferenceEngine::PluginConfigParams::KEY_PERF_COUNT, InferenceEngine::PluginConfigParams::YES }};        m_executableNetwork = m_core.LoadNetwork(m_network, devicename, config);    } catch(details::InferenceEngineException &err) {        std::cout<<"OpenVino Inference Engine LoadNetwork Exception: "<<err.what();

    }

 

We have tried with both the overloaded methods of LoadNetwork() API, but no luck, we get the same linker error every time.

We are linking to OpenVINO libs as follows in Qt PRO file:

QMAKE_CXXFLAGS  += -D__STDC_CONSTANT_MACROS    DEFINES -= UNICODE    CONFIG += file_copies     OPENVINO_LIB_LOCATION = $$PWD/libraries/thirdparty/openvino-2020_3_194    INCLUDEPATH     += $$OPENVINO_LIB_LOCATION/include/openvino    INCLUDEPATH     += $$OPENVINO_LIB_LOCATION/include/ngraph    INCLUDEPATH     += $$OPENVINO_LIB_LOCATION/include/tbb    INCLUDEPATH     += $$OPENVINO_LIB_LOCATION/include/opencv    INCLUDEPATH     += $$OPENVINO_LIB_LOCATION/include/others    INCLUDEPATH     += $$OPENVINO_LIB_LOCATION/include/others/format_reader    INCLUDEPATH     += $$OPENVINO_LIB_LOCATION/include/others/gflags     macx {        CONFIG(debug,debug|release) {            LIBS += -L$$OPENVINO_LIB_LOCATION/$$TARGET_PLATFORM/debug/openvino \                    -linference_engined \                    -linference_engine_c_apid \                    -linference_engine_legacyd \                    -linference_engine_lp_transformationsd \                    -linference_engine_nn_builderd \                    -linference_engine_preprocd \                    -linference_engine_transformationsd \                    -lMKLDNNPlugind \                    -lmyriadPlugind             LIBS += -L$$OPENVINO_LIB_LOCATION/$$TARGET_PLATFORM/debug/tbb \                    -ltbb_debug \                    -ltbbmalloc_debug \             LIBS += -L$$OPENVINO_LIB_LOCATION/$$TARGET_PLATFORM/debug/ngraph  \                    -lngraphd 

        } # end of macx openvino debug config block

 

C++ version used here is C++17.

If we use the deprecated 

InferenceEngine::InferencePlugin

Class for 'LoadNetwork', we do not observe any linker error.

Other API’s are not causing any issue, only we observe issue when we invoke this API.

Please find the Sample app attached using which we are able to reproduce the issue. 

Note that Input image, Model, OpenVINO dependencies need to be copied to the sample app, to see this in action.

  • Anything are we missing here?
  • Is this known issue?
  • Do you see any issue in the way we are using the API?
  • Can you let us know the resolution for the same?
0 Kudos
3 Replies
Manohar
Beginner
78 Views

Here are more findings and details:

  • With Qt 5.15.1, Xcode version 12.1, Catalina 10.15.6
  • With Qt 5.12.5 Xcode version 10.1, Catalina 10.15.6

WIth both the above settings we are observing the same issue with test application.

Iffa_Intel
Moderator
40 Views

Greetings,


It is recommended for you to use the latest OpenVINO version.

Most problems that came when integrating OpenVINO with QT solved previously by migrating to the latest version.


Sincerely,

Iffa


Iffa_Intel
Moderator
18 Views

Greetings,


Intel will no longer monitor this thread since we have provided a solution. If you need any additional information from Intel, please submit a new question. 


Sincerely,

Iffa