c++ 检查include/library路径变量(如OpenCV_LIBS)在unix中的指向位置

r1zhe5dt  于 2023-01-18  发布在  Unix
关注(0)|答案(2)|浏览(142)

在C/C++中使用OpenCV等库时,OpenCV_LIBS等变量用于将编译器/链接器指向相关目录。
使用cmake的示例:

include_directories( ${OpenCV_INCLUDE_DIRS} )
target_link_libraries( project_name ${OpenCV_LIBS} )

如何查看这些变量指向哪里?我尝试在终端输入setprintenv,但只显示了一些系统变量。另外,如何设置/更改这些变量?

z2acfund

z2acfund1#

这些变量由cmake确定(有关opencv CMake变量可用的更详细描述,请参见OpenCVConfig.cmake)。
要查看这些值,可以在find_package(OpenCV)调用之后添加message()调用到项目的CMakeLists.txt

find_package(OpenCV)

message(STATUS "OpenCV_INCLUDE_DIRS = ${OpenCV_INCLUDE_DIRS}")
message(STATUS "OpenCV_LIBS = ${OpenCV_LIBS}")

或者,您可以通过CMake命令行选项运行find_package
下面是一些例子(如果CMake不能自动找到库的安装路径,CMAKE_PREFIX_PATH部分是可选的):

  1. 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
  1. MODE=LINK提供链接库(例如,使用GNU编译器)
$ cmake 
    --find-package 
    -DNAME=OpenCV 
    -DCOMPILER_ID=GNU 
    -DLANGUAGE=CXX 
    -DMODE=LINK 
    -DCMAKE_PREFIX_PATH:PATH=/path/to/your/OpenCV/build
yzckvree

yzckvree2#

查找包(OpenCV)
消息(状态“开放CV_包含_DIRS = ${开放CV_包含_DIRS}”)消息(状态“开放CV_库= ${开放CV_库}”)
非常有用的消息,我可以在eclipse中正确地指向库。
谢谢

相关问题