CMake构建OpenCV,GDAL项目

本文介绍如何使用CMake配置并链接OpenCV和GDAL库,包括设置路径、查找库文件及版本验证等步骤。

CMake构建OpenCV,GDAL项目

本文举例的开源库是OpenCV和GDAL,其他块源库类似

使用本篇方法的前提是make install,即开源库是install的。
当然,没有install的也是可以用的,只需要在findpage前找到DIR即可。
如找OpenCV:
set(OpenCV_DIR /home/jie/third_party/opencv-3.4.0/build)

另外,findpage所返回的变量如OpenCV_LIBS有什么可以去对应的FindXX.cmake文件中找。

OpenCV:
CMakeLists:

# cmake needs this line
cmake_minimum_required(VERSION 2.8)

# Define project name
project(opencvTest)

# Find OpenCV, you may need to set OpenCV_DIR variable
# to the absolute path to the directory containing OpenCVConfig.cmake file
# via the command line or GUI


find_package(OpenCV REQUIRED)




# If the package has been found, several variables will
# be set, you can find the full list with descriptions
# in the OpenCVConfig.cmake file.
# Print some message showing some of them
message(STATUS "OpenCV library status:")
message(STATUS "    version: ${OpenCV_VERSION}")
message(STATUS "    libraries: ${OpenCV_LIBS}")
message(STATUS "    include path: ${OpenCV_INCLUDE_DIRS}")

# Add OpenCV headers location to your include paths
include_directories(${OpenCV_INCLUDE_DIRS})





# Declare the executable target built from your sources
add_executable(main main.cpp)

# Link your application with OpenCV libraries
target_link_libraries(main ${OpenCV_LIBS})

GDAL:
CMakeList:

# cmake needs this line
cmake_minimum_required(VERSION 2.8)

# Define project name
project(gdaltest)


find_package(GDAL REQUIRED)


message(STATUS "GDAL library status:")
message(STATUS "    version: ${GDAL_VERSION}")
message(STATUS "    libraries: ${GDAL_LIBRARY}")
message(STATUS "    include path: ${GDAL_INCLUDE_DIRS}")


include_directories(${GDAL_INCLUDE_DIRS})


add_executable(main test.cpp)


target_link_libraries(main ${GDAL_LIBRARY})
OpenCV编译时,cuBLAS相关配置通常涉及到在编译命令中添加特定参数以启用cuBLAS支持。 在引用[4]和[5]中都有涉及cuBLAS相关配置的编译命令。例如引用[4]中的编译命令: ```plaintext cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D PYTHON_DEFAULT_EXECUTABLE=/usr/bin/python3 \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules/ \ -D OPENCV_GENERATE_PKGCONFIG=YES \ -D OPENCV_ENABLE_NONFREE=True \ -D ENABLE_CXX11=1 \ -D ENABLE_FAST_MATH=1 \ -D WITH_TBB=ON \ -D WITH_OPENGL=ON \ -D WITH_OPENMP=ON \ -D WITH_TIFF=ON -D BUILD_TIFF=ON \ -D WITH_1394=OFF \ -D WITH_GDAL=ON \ -D WITH_CUDA=ON -D CUDA_NVCC_FLAGS="-D_FORCE_INLINES" \ -D WITH_CUBLAS=ON -D WITH_CUFFT=ON \ -D INSTALL_C_EXAMPLES=OFF \ -D INSTALL_PYTHON_EXAMPLES=OFF \ -D BUILD_EXAMPLES=OFF .. ``` 此命令中通过`-D WITH_CUBLAS=ON`来启用cuBLAS支持,同时`-D WITH_CUDA=ON`启用CUDA支持,这两者配合可以在编译OpenCV时使用cuBLAS库。 引用[5]中的编译命令: ```plaintext sudo cmake -DCMAKE_BUILD_TYPE = RELEASE \ -DCMAKE_INSTALL_PREFIX = /usr/local \ -DOPENCV_EXTRA_MODULES_PATH = /home/pjy/opencv_build/opencv_contrib-4.5.2/modules \ -DWITH_CUDA = 1 \ -DWITH_GTK = ON \ -DENABLE_FAST_MATH = 1 \ -DCUDA_FAST_MATH = 1 \ -DWITH_CUBLAS = 1 \ -DOPENCV_GENERATE_PKGCONFIG = ON \ -DWITH_GSTREAMER = ON \ .. ``` 同样使用`-DWITH_CUBLAS = 1`来启用cuBLAS支持。 如果在编译过程中出现cuBLAS相关问题,比如找不到cuBLAS库,可能需要检查CUDA和cuBLAS的安装路径是否正确,以及环境变量是否配置正确。可以尝试以下解决办法: 1. 确认CUDA和cuBLAS已经正确安装,并且版本兼容。 2. 检查编译命令中CUDA和cuBLAS相关参数是否正确设置。 3. 检查系统环境变量,确保编译器能够找到CUDA和cuBLAS库文件。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值