在Windows 10中的Qtcreator qbs文件中导入OpenCV.lib

在Windows 10中的Qtcreator qbs文件中导入OpenCV.lib,windows,qt,qbs,Windows,Qt,Qbs,我需要在Qt应用程序中使用OpenCV,该应用程序在Windows中使用Qbs和QML 我正在使用随Qt 5.11一起安装的MVSC2017(64位)编译器 我有OpenCV 3.41(我必须链接到OpenCV_world341.lib) 我知道它在C:\opencv\build中,但据我所知,我无法使用来自“C:”的路径(如果我在这里出错,请告诉我) 我不能更改为(C | Q)make,因为我需要使用qbs和qml文件将此应用程序中的功能集成到更大的应用程序中 我试着用 import qbs

我需要在Qt应用程序中使用OpenCV,该应用程序在Windows中使用Qbs和QML

我正在使用随Qt 5.11一起安装的MVSC2017(64位)编译器

我有OpenCV 3.41(我必须链接到OpenCV_world341.lib)

我知道它在C:\opencv\build中,但据我所知,我无法使用来自“C:”的路径(如果我在这里出错,请告诉我)

我不能更改为(C | Q)make,因为我需要使用qbs和qml文件将此应用程序中的功能集成到更大的应用程序中

我试着用

import qbs

Project {
      CppApplication {
        Depends { name: "Qt.core" }
        Depends { name: "Qt.quick" }
        Depends { name: "OpenCV" }

        cpp.cxxLanguageVersion: "c++11"

        files: [
            "main.cpp",
            "qml.qrc",
        ]

    }
    CppApplication {
         name: "OpenCV"
         cpp.includePaths: ["../../../../../../opencv/build/include/"]
         cpp.libraryPaths: ["../../../../../../opencv/build/x64/vc15/lib/"]
         cpp.staticLibraries: "opencv_world341"
    }
}
我使用git bash从包含qbs文件的目录开始确定
。/
的数量

但是我得到了错误

C1083: Cannot open include file: 'opencv2/core.hpp': No such file or directory
我是不是在Qbs文件中做错了什么


我知道opencv的安装是有效的,因为我在visual studio community 2017中使用了它来测试它

我设法找到了方法,但有两个问题,第一个问题是,我使用的是Qtcreator中的调试构建,带有opencv_world341.lib文件,因此链接没有正确进行,为此,我需要opencv_world341d.lib文件,但我不想丢失发布版本,所以我添加了一个属性块,以便静态库文件可以根据使用qbs.buildVariant属性的构建类型自行设置

第二个问题是,将include和library路径与我正在构建的应用程序分离是行不通的,所以我将它放在cppplication块中,现在它可以工作了

我更改了qbs文件,如下所示:

import qbs

Project {
    CppApplication {
        Depends { name: "Qt.core" }
        Depends { name: "Qt.quick" }
        cpp.includePaths: ["../../../../../../opencv/build/include/"]
        cpp.libraryPaths: [
            "../../../../../../opencv/build/x64/vc15/lib/",
            "../../../../../../opencv/build/x64/vc15/bin/"
        ]
        cpp.cxxLanguageVersion: "c++11"

        Properties
        {
            condition: qbs.buildVariant == "debug"
            cpp.staticLibraries: ["opencv_world341d"]
        }
        Properties
        {
            condition: qbs.buildVariant == "release"
            cpp.staticLibraries: "opencv_world341"
        }

        files: [
            "main.cpp",
            "qml.qrc",
        ]
    }
}