- 1.拉取源码
- 2.Cmake
- 报错解决:CUDA_nppicom_LIBRARY (ADVANCED) 未定义
- 解决方法
- 3.Make
- 报错解决:Unsupported gpu architecture 'compute_30'
- 解决方法
- 报错解决:对‘TIFFReadRGBAStrip@LIBTIFF_4.0’未定义的引
- 解决方法
- `CMakeLists.txt`模板
- OpenCV程序
- ROS-OpenCV程序
前提条件:可以自由S网。
参考文章:
- ubuntu1804编译opencv4.4 +cuda
git clone https://github.com/opencv/opencv.git
cd opencv && git checkout 4.1.1
git clone https://github.com/opencv/opencv_contrib.git
cd opencv_contrib && git checkout 4.1.1
cd ..
2.Cmake
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DOPENCV_GENERATE_PKGCONFIG=ON \
-DOPENCV_EXTRA_MODULES_PATH=~/opencv/opencv_contrib/modules \
-DBUILD_EXAMPLES=ON \
-DWITH_GSTREAMER=ON \
-DVIDEOIO_PLUGIN_LIST=gstreamer \
-DBUILD_opencv_python2=OFF \
-DBUILD_opencv_python3=OFF \
-DWITH_EIGEN=ON \
-DWITH_OPENGL=ON \
-DCUDA_nppicom_LIBRARY=stdc++ \
-DCUDA_GENERATION=Auto \
-DWITH_CUDA=ON \
-DWITH_CUBLAS=ON \
-DWITH_CUDNN=ON ..
# 参数解析
# 如果要使用CUDA,务必加入该参数
# -DCUDA_nppicom_LIBRARY=stdc++ \
报错解决:CUDA_nppicom_LIBRARY (ADVANCED) 未定义
目前该报错已知为CUDA和OpenCV环境导致,。
- Opencv-GPU 编译错误 CUDA_nppicom_LIBRARY (ADVANCED) 未定义
在编译参数中加入:
-DCUDA_nppicom_LIBRARY=stdc++ \
3.Make
make -j12
sudo make install
sudo ldconfig
报错解决:Unsupported gpu architecture ‘compute_30’
解决方法
- 参考文章:Unsupported gpu architecture 'compute_11’解决方法
在编译选项中加入:
-DCUDA_GENERATION=Auto \
报错解决:对‘TIFFReadRGBAStrip@LIBTIFF_4.0’未定义的引
解决方法
- 参考文章:对‘TIFFReadRGBAStrip@LIBTIFF_4.0’未定义的引
在编译选项中加入:
-DBUILD_TIFF=ON \
CMakeLists.txt
模板
OpenCV程序
cmake_minimum_required(VERSION 3.0.2)
project(XXXX)
# 0.set opencv dir(where you build)
set(OpenCV_DIR /home/innox/opencv/build)
# 1.find package
# OpenCV
find_package(OpenCV REQUIRED)
# 2.include directories
include_directories(
include
${OpenCV_INCLUDE_DIRS}
)
# 3.link opencv lib
add_executable(image_sub src/image_sub.cpp)
target_link_libraries(image_sub ${OpenCV_LIBS})
ROS-OpenCV程序
cmake_minimum_required(VERSION 3.0.2)
project(XXXX)
# 0.set opencv dir(where you build)
set(OpenCV_DIR /home/innox/opencv/build)
# 1.find package
# Catkin
find_package(catkin REQUIRED COMPONENTS
roscpp
rosmsg
rospy
message_filters # message_filters
cv_bridge # ros cv_bridge
OpenCV # ros cv
image_transport # ros cv
)
# Boost
find_package(Boost REQUIRED)
# OpenCV
find_package(OpenCV REQUIRED)
# 2.catkin package
catkin_package()
# 3.include directories
include_directories(
include
${catkin_INCLUDE_DIRS}
${Boost_INCLUDE_DIRS}
${OpenCV_INCLUDE_DIRS}
)
# 4.link opencv lib
add_executable(image_sub src/image_sub.cpp)
target_link_libraries(image_sub ${OpenCV_LIBS})
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)