C++ CMake can';在windows中找不到opencv
我已在windows中安装OpenCV(源代码) 现在我想尝试一个测试,所以我有以下CMakeLists.txtC++ CMake can';在windows中找不到opencv,c++,opencv,cmake,windows-10,C++,Opencv,Cmake,Windows 10,我已在windows中安装OpenCV(源代码) 现在我想尝试一个测试,所以我有以下CMakeLists.txt cmake_minimum_required(VERSION 3.0.0) project(opencvGPUtest_youtube VERSION 0.1.0) include(CTest) enable_testing() find_package(OpenCV REQUIRED ) include_directories(( ${OpenCV_INCLUDE_DIRS})
cmake_minimum_required(VERSION 3.0.0)
project(opencvGPUtest_youtube VERSION 0.1.0)
include(CTest)
enable_testing()
find_package(OpenCV REQUIRED )
include_directories(( ${OpenCV_INCLUDE_DIRS}))
add_executable(opencvGPUtest_youtube main.cpp)
target_link_libraries(opencvGPUtest_youtube ${OpenCV_LIBS})
set(CPACK_PROJECT_NAME ${PROJECT_NAME})
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
include(CPack)
然而,当我做。。从我得到的一个构建文件夹
CMake Error at CMakeLists.txt:13 (find_package):
By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "OpenCV", but
CMake did not find one.
Could not find a package configuration file provided by "OpenCV" with any
of the following names:
OpenCVConfig.cmake
opencv-config.cmake
Add the installation prefix of "OpenCV" to CMAKE_PREFIX_PATH or set
"OpenCV_DIR" to a directory containing one of the above files. If "OpenCV"
provides a separate development package or SDK, be sure it has been
installed.
我已尝试编辑CMakeLists.txt文件,以包括Opencv目录,如中所示
find_package(OpenCV REQUIRED PATH C:/Users/theuser/Path/To/MyOpenCVInstallation/build/install/x64/vc16/lib
或
但它仍然找不到OpenCV
我还尝试了-DOpenCV_DIR选项,但没有结果
如何使其识别OpenCV
编辑: 当我将OpenCV_DIR指定为myoppencvinstallation/build/install/x64/vc16/lib时,错误变为
CMake Error at C:/Program Files/CMake/share/cmake-3.20/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find OpenCV (missing: PATH
C:/Users/user/Path/To/MyOpenCVInstallation/build/install/) (found
version "4.5.2")
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.20/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
C:/Users/user/path/to/MyOpenCVInstallation/build/install/x64/vc16/lib/OpenCVConfig.cmake:410 (find_package_handle_standard_args)
CMakeLists.txt:13 (find_package)
编辑2:
结果我不得不使用
find_package(OpenCV REQUIRED PATHS C:/Users/theuser/Path/To/MyOpenCVInstallation/build/install/x64/vc16/lib
这样看来,cmake运行正常
然而,通常在这一点上(在ubuntu中),我运行make
,但在windows中,我应该使用VSCode中的CtrlF5
现在我得到了输出
-------------------------------------------------------------------
You may only use the C/C++ Extension for Visual Studio Code
with Visual Studio Code, Visual Studio or Visual Studio for Mac
software to help you develop and test your applications.
-------------------------------------------------------------------
Loaded 'C:\Users\aliag\DiskD\MyStudy\MyOpenCVInstallation\opencvgpu_test_youtube\build\Debug\opencvGPUtest_youtube.exe'. Symbols loaded.
Loaded 'C:\Windows\System32\ntdll.dll'.
Loaded 'C:\Windows\System32\kernel32.dll'.
Loaded 'C:\Windows\System32\KernelBase.dll'.
Loaded 'C:\Windows\System32\apphelp.dll'.
Loaded 'C:\Windows\System32\vcruntime140_1d.dll'.
Loaded 'C:\Windows\System32\vcruntime140d.dll'.
Loaded 'C:\Windows\System32\msvcp140d.dll'.
The program '[1112] opencvGPUtest_youtube.exe' has exited with code -1073741515 (0xc0000135).
因此,我认为这是一个不同的问题?那么,在您的OpenCV安装下,文件
OpenCVConfig.cmake
的确切路径是什么?将目录与该文件一起用作OpenCV\u DIR
变量的值。我搜索了OpenCVConfig.cmake
,得到了四(4)个文件。路径是:C:..\myOpenInstallation\build\win install\x64\vc16\lib,然后是另一个带有install\x64\vc16\lib的路径,另外两个路径正好是win install或install。我应该使用哪一个可能是安装文件夹中的一个,但在任何情况下都可能有效。CMake将使用生成文件夹或安装文件夹中的包。我通常不构建安装目标,而是使用构建文件夹。根据软件包的不同,安装可能有一个优点,即头可以组合在一个文件夹中,而不是分散在一个文件夹中。安装没有这样的PATH
选项。您可能指的是路径
选项。但由于您已指定了OpenCV_DIR
变量,因此不需要该选项。错误代码0xc0000135
表示您的某些dll库未列在路径
环境变量中。见例。
-------------------------------------------------------------------
You may only use the C/C++ Extension for Visual Studio Code
with Visual Studio Code, Visual Studio or Visual Studio for Mac
software to help you develop and test your applications.
-------------------------------------------------------------------
Loaded 'C:\Users\aliag\DiskD\MyStudy\MyOpenCVInstallation\opencvgpu_test_youtube\build\Debug\opencvGPUtest_youtube.exe'. Symbols loaded.
Loaded 'C:\Windows\System32\ntdll.dll'.
Loaded 'C:\Windows\System32\kernel32.dll'.
Loaded 'C:\Windows\System32\KernelBase.dll'.
Loaded 'C:\Windows\System32\apphelp.dll'.
Loaded 'C:\Windows\System32\vcruntime140_1d.dll'.
Loaded 'C:\Windows\System32\vcruntime140d.dll'.
Loaded 'C:\Windows\System32\msvcp140d.dll'.
The program '[1112] opencvGPUtest_youtube.exe' has exited with code -1073741515 (0xc0000135).