我正在尝试在Windows 10上的Visual Studio 2017中创建UWP应用程序(桌面版(。一切正常,我添加了一些UI元素,我可以毫无问题地启动应用程序。
我想将OpenCV(3.4.9(合并到我的应用程序中,这是我使用CMake和Visual Studio 2017构建的(按照 https://medium.com/@rabbi.cse.sust.bd/how-to-build-opencv-for-universal-windows-platform-uwp-1a642ec09955 中的步骤(
我已经检查了每个配置的库路径(我为每个 x64/调试、x64/发布、x86/调试、x86/发布构建了一个(。
当我开始使用OpenCV时,问题就开始了,例如通过包含"opencv2/opencv.hpp"。
我仍然可以毫无错误地构建,但是当我尝试运行该应用程序(在 VS 中运行而不调试(时,出现错误:
无法激活 Windows 应用商店应用。激活请求失败,出现错误:应用未启动
直接运行.exe时,没有任何反应(我必须先向文件夹添加一些 DLL(。
我已经尝试了SO上类似问题的建议,但没有运气。
重建或更改配置无济于事。
我可以在包含"opencv2/core.hpp"时启动该应用程序,然后执行
cv::Mat img;
但是如果我写
cv::Mat img(200, 200, CV_8UC3);
发生相同的错误。写作
cv::Point pt(10, 10);
另一方面工作正常。
我正在没有想法可以尝试..
好的,所以我发现了问题。实际上与具有相同问题的其他人发现的相似:
Visual Studio 无法找到 OpenCV 的 DLL 文件。我确实怀疑这一点,所以我将 bin 文件夹添加到我的路径中,并将 DLL 文件复制到项目根目录以及"ProjectRoot/x64/Release/ProjectName"中。
但显然,DLL 文件需要在
"ProjectRoot/x64/Release/ProjectName/AppX">
对于 x64 发布版本。
如果有人知道为什么无法通过 PATH 或项目根目录找到它们,请告诉我。 我想原因与二进制文件依赖于配置有关?
无论如何,我现在可以通过 OpenCV 在我的 UWP 应用程序中加载图像,所以我很高兴。
希望这能省去某人的头痛。