0

在我的 PC 上安装并成功运行 OpenVino 演示后,我开始使用这个库在 Qt 中实现一个基本应用程序。我按照英特尔文档的描述进行了链接,并成功编译了应用程序。

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 行))。

在此处输入图像描述

我在 Windows 10 机器上使用 MSVC2017 64bit 和 Qt 5.11.1。.pro 文件库调用是:

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

有没有人有同样的经历或知道发生了什么?

提前致谢,

塔纳西斯

4

1 回答 1

0

发布库导致了问题。当我切换到调试程序(insted of inference_engine.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
}
于 2019-03-15T07:51:03.827 回答