【问题标题】:trouble with setting up OpenCV 4.1.1 on Visual "Microsoft studio 2019" ? (Illegal Instruction.)在 Visual "Microsoft studio 2019" 上设置 OpenCV 4.1.1 有问题吗? (非法指令。)
【发布时间】:2020-01-17 10:52:58
【问题描述】:

我正在尝试在 Visual Studio 上使用 Open Cv 来编写 C++ 代码。我尝试了很多方法来达到这个目标3天。这是我这些天所做的:

**1.下载并解压 open cv 4.1.1 (C:\opencv)。

2.下载并安装 Visual Microsoft Studio 2019。

3.将open cv的bin目录复制到系统变量路径下。 (在我的情况下:“C:\opencv\build\x64\vc15\bin;C:\opencv\build”)

4.将包含文件夹添加到项目的属性中(我的项目名称是opencv): (属性->配置属性->编辑包含目录值到:(C:\opencv\build\include)

5.编辑库目录到(C:\opencv\build\x64\vc15\lib)

6.然后在链接器菜单->输入->附加依赖项->将其值编辑为“opencv_world411d.lib”。**

现在我写了一个简单的代码来测试打开的简历:

#include <iostream>
#include <opencv2/highgui/highgui.hpp>

using namespace std;
using namespace cv;

int main() {
    Mat im = imread("cameraman.tiff", 0);
}

此代码正确构建,但是当我运行它时它不起作用并出现错误:

opencv.exe 中 0x000007FEBA8D3AE2 (opencv_world411d.dll) 处的未处理异常:0xC000001D:非法指令。

gfluidimgproc_func.simd.hpp 未找到 需要找到gfluidimgproc_func.simd.hpp查看当前调用栈帧的来源

“我添加了截图” error report

另外,我也尝试过 Cmake。 首先,配置并生成OpenCV的源文件。 二、在Microsoft Visual Studio中打开项目并构建所有 然后我建立了安装文件夹。一切都已成功完成。

问题: 1.如何修复此错误以在 Microsoft Visual Studio 2019 上运行 OpenCV?

  1. Microsoft Visual Studio 2019 是否支持 Open CV 4.1.1?你试过吗? 坦克引起你的注意。

我的操作系统是:windows 7 英特尔酷睿 i5

【问题讨论】:

  • 4.我认为,您应该将C:\opencv\build\include(或C:\opencv\build\include\opencv2)设置为您的包含文件夹。然而,事实上这个错误很奇怪。你是从官方OpenCV releases page下载的Windows包吗?也许,再做一次,然后重新安装 OpenCV。此外,正如vc15 所指出的,预构建的 OpenCV DLL 是使用 Visual Studio 2017 制作的(VS2019 是 vc16)。不幸的是,我目前的机器上有 Visual Studio 2017,无法详细测试。
  • 我刚刚编辑了我的问题。我在某处读到它的 CPU 英特尔问题。你有其他信息吗?类似 sse3 ssse3!
  • 我的问题解决了,点击这个链接:stackoverflow.com/questions/58007793/…

标签: c++ visual-studio opencv


【解决方案1】:

我有同样的问题,据我了解,这是因为我们以 x64 位编译并在不支持 sse3 指令的旧 CPU(在我的情况下为旧 i5 750)上执行它。我相信您唯一的解决方案是在 32 位或 64 位禁用 sse3 的情况下重新编译 OpenCV。

【讨论】:

【解决方案2】:

>>4.将包含文件夹添加到项目的属性中(我的项目名称是opencv):(属性->配置属性->编辑包含目录值到:(C:\opencv\build\x64)

这是错误的,您应该在您的情况下将 C:\opencv\build\include 和 C:\opencv\build\include\opencv2 添加到包含目录中。 我在我的 PC 上测试你的案例,我使用 VS2019 和 OpenCV4.1.1 进行测试。您的其他步骤是正确的。这一步会导致找不到头文件,所以无法识别对应的函数,会显示为非法指令。

【讨论】:

  • 为您解答。这是打字小姐。我只是更新我的问题。我很抱歉。
  • @Hamid Reza 我测试过,它工作正常。如果你严格按照你的方法配置 OpenCV 库,是没有问题的。 C:\OpenCV\opencv\sources\modules\gapi\src\backends\fluid,我在这个路径中找到了gfluidimgproc_func.simd.hpp。如果你没有这个文件。您是否下载了正确的软件包?
  • @Hamid Reza https://opencv.org/releases/ 下载窗口包
  • 是的,我做到了,但它不起作用。我将 Windows 更改为 8.1,但它不起作用。我用 CMake 制作了我的 OpenCV 文件夹。但它也确实有效。我不知道我能做什么。我总是接受这个消息“opencv.exe 中 0x00007FFCFC433AE2 (opencv_world411d.dll) 处的未处理异常:0xC000001D:非法指令。”
猜你喜欢
  • 2014-10-19
  • 1970-01-01
  • 2021-01-09
  • 1970-01-01
  • 2020-09-18
  • 1970-01-01
  • 1970-01-01
  • 2020-12-01
  • 1970-01-01
相关资源
最近更新 更多