在将 OpenCV 等库与 C/C++ 一起使用时,OpenCV_LIBS 等变量用于将编译器/链接器指向相关目录。
使用cmake的示例:
include_directories( ${OpenCV_INCLUDE_DIRS} )
target_link_libraries( project_name ${OpenCV_LIBS} )
如何检查这些变量指向的位置?我试过在终端中输入set
或输入printenv
,但它只显示一些系统变量。另外我如何设置/更改这些变量?
在将 OpenCV 等库与 C/C++ 一起使用时,OpenCV_LIBS 等变量用于将编译器/链接器指向相关目录。
使用cmake的示例:
include_directories( ${OpenCV_INCLUDE_DIRS} )
target_link_libraries( project_name ${OpenCV_LIBS} )
如何检查这些变量指向的位置?我试过在终端中输入set
或输入printenv
,但它只显示一些系统变量。另外我如何设置/更改这些变量?
这些变量由cmake确定(有关可用的opencv CMake 变量OpenCVConfig.cmake
的更详细描述,请参阅 )。
要查看这些值,您可以在调用项目message()
之后添加调用:find_package(OpenCV)
CMakeLists.txt
find_package(OpenCV)
message(STATUS "OpenCV_INCLUDE_DIRS = ${OpenCV_INCLUDE_DIRS}")
message(STATUS "OpenCV_LIBS = ${OpenCV_LIBS}")
或者,您可以find_package
通过 CMake 命令行选项运行。
以下是一些示例(CMAKE_PREFIX_PATH
如果 CMake 无法自动找到您的库安装路径,则该部分是可选的):
MODE=COMPILE
提供包含目录(例如使用MSVC
编译器)
$ cmake
--find-package
-DNAME=OpenCV
-DCOMPILER_ID=MSVC -DMSVC_VERSION=1700
-DLANGUAGE=CXX
-DMODE=COMPILE
-DCMAKE_PREFIX_PATH:PATH=/path/to/your/OpenCV/build
MODE=LINK
提供链接库(例如使用GNU
编译器)
$ cmake
--find-package
-DNAME=OpenCV
-DCOMPILER_ID=GNU
-DLANGUAGE=CXX
-DMODE=LINK
-DCMAKE_PREFIX_PATH:PATH=/path/to/your/OpenCV/build
注意:此 CMake 调用将CMakeFiles
在您当前的工作目录中创建一个子目录。
参考