Openvino:尝试在Qt中加载CPU插件时出现问题

时间:2019-03-14 15:27:36

标签: c++ qt5 intel openvino

在我的PC中安装并成功运行OpenVino演示之后,我开始使用此库在Qt中实现基本应用程序。我按照Intel documentation的描述进行了链接,并成功编译了应用程序。

auto plugin = PluginDispatcher({L""}).getPluginByDevice("CPU");

auto netBuilder = new CNNNetReader();
netBuilder->ReadNetwork("../TestModel/squeezenet1.1.xml");
netBuilder->ReadWeights("../TestModel/squeezenet1.1.bin");

auto network = netBuilder->getNetwork();
netBuilder->getNetwork().setBatchSize(1);

当调试器到达getPluginByDevice调用(ie_plugin_dispacher.hpp中的getSuitablePlugin方法(第73行))时,应用程序将弹出异常。

enter image description here

我正在Windows 10机器中使用带有Qt 5.11.1的MSVC2017 64位。 .pro文件库调用为:

#OpenVino
INCLUDEPATH += $$PWD/inference_engine/include
LIBS += -L$$PWD/inference_engine/lib/intel64/Release
LIBS += -linference_engine -llibiomp5md

有人经历过相同的事情或有什么想法吗?

预先感谢

Thanasis

1 个答案:

答案 0 :(得分:0)

发布库导致了此问题。当我切换到调试模式(由inference_engine.lib插入inference_engined.lib)时,应用程序成功运行。

编辑

如果有人遇到相同的问题,我会粘贴.pro文件中的代码。

#OpenVino
INCLUDEPATH += $$PWD/inference_engine/include

CONFIG(release, debug|release):BuildVar=release
CONFIG(debug, debug|release):BuildVar=debug

equals(BuildVar,debug) {
    message(Debug Mode)
    LIBS += -L$$PWD/inference_engine/lib/intel64/Debug
    LIBS += -linference_engined
}

equals(BuildVar,release) {
    message(Release Mode)
    LIBS += -L$$PWD/inference_engine/lib/intel64/Release
    LIBS += -linference_engine
}