首页 > 解决方案 > QT / opencv:LNK1107 无效或损坏的文件:无法在 0x3F8 libopencv_core400.dll 读取

问题描述

这是我第一次使用opencv,我发现错误可能出在哪里,我按照本教程安装了所有东西(https://wiki.qt.io/How_to_setup_Qt_and_openCV_on_Windows

但每当我尝试编译时,我都会收到此错误:

D:\opencv\releases\bin\libopencv_core400.dll:-1: erreur : LNK1107: 无效或损坏的文件:无法读取 0x3F8 libopencv_core400.dll

另一个问题是此错误的解决方案是链接到 .lib 但 opencv 在我的计算机上只有 .dll

.pro

    INCLUDEPATH += D:\opencv\build\include
    LIBS += D:\opencv\releases\bin\libopencv_core400.dll
    LIBS += D:\opencv\releases\bin\libopencv_calib3d400.dll
    LIBS += D:\opencv\releases\bin\libopencv_highgui400.dll
    LIBS += D:\opencv\releases\bin\libopencv_imgcodecs400.dll
    LIBS += D:\opencv\releases\bin\libopencv_imgproc400.dll
    LIBS += D:\opencv\releases\bin\libopencv_features2d400.dll

标签: qtopencv

解决方案


这是一个较旧的线程,但也许有同样问题的任何人都可以使用它:

您只能将构建的 OpenCV 库用于使用相同编译器的构建配置。在您的情况下:MinGW_32。如果您尝试使用其他构建配置(例如 MSVC2017)构建项目,您将收到这些错误。

选择 MinGW 32 位作为构建配置为我修复了它。


推荐阅读