问题
OPENCV 新旧冲突
卸载opencv不干净, 已经安装的opencv3.4.0 编译完成后突然出现已经卸载的opencv 通过卸载的opencv3.4.6操作卸载, 然后在opencv3.4.0 重新sudo make install (可我居然是卸载重装!!!浪费半天时间) 老版本有的库 新版覆盖
OpenCV 安装
应为opencv_contribution中有一些是cuda加速的,我是没编译过去,不过可以按需安装,报错的不是需要的可以直接跳过
CUDA 与 opencv关系
https://github.com/BVLC/caffe/issues/4436
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_CUDA=ON -D CUDA_GENERATION=Auto -D WITH_CUBLAS=ON -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON -D BUILD_PERF_TESTS=OFF -D BUILD_TESTS=OFF -D BUILD_TIFF=ON -D ENABLE_CXX11=ON -D WITH_PROTOBUF=OFF -D BUILD_opencv_legacy=OFF -D ENABLE_PRECOMPILED_HEADERS=OFF -D INSTALL_PYTHON_EXAMPLES=ON -D INSTALL_C_EXAMPLES=OFF -D OPENCV_EXTRA_MODULES_PATH=./opencv_contrib-3.4.0/modules -D PYTHON_EXECUTABLE=/usr/bin/python3 -D CUDA_NVCC_FLAGS="-D_FORCE_INLINES" ..
cuda_running time
修改 CMakelist.txt 加入 find_package(CUDA)
include_target 加入 /usr/local/cuda/include
find_package(CUDA REQUIRED)
include_directories(
${PROJECT_SOURCE_DIR}
${PROJECT_SOURCE_DIR}/include
${PROJECT_SOURCE_DIR}/g2oAddition
${EIGEN3_INCLUDE_DIR}
${Pangolin_INCLUDE_DIRS}
${PCL_INCLUDE_DIRS}
/usr/local/cuda/include
)
‘make_shared’ is not a member of ‘boost’ 文件 MeshViewer.cc中
https://blog.csdn.net/frankcreen/article/details/108922295
//mAllCloudPoints = boost::make_shared<PointCloud>();
mAllCloudPoints = std::make_shared<PointCloud>();
/usr/local/lib/libopencv_highgui.so.3.4.0: undefined reference to `qt_version_tag@Qt_5.12’
Qt5Core_DIR /home/lab316/miniconda3/lib/cmake/Qt5Core
Qt5Gui_DIR /home/lab316/miniconda3/lib/cmake/Qt5Gui
Qt5Widgets_DIR /home/lab316/miniconda3/lib/cmake/Qt5Widgets
/usr/lib/libopencv_highgui.so.2.4: undefined reference to
删除 /home/lab316/miniconda3/lib/cmake/Qt5Core Qt5Gui Qt5Widgets
cmake 中加入 Qt 路径
cmake -D CMAKE_BUILD_TYPE=RELEASE -D Qt5Core_DIR=/opt/Qt5.12.8/5.12.8/gcc_64/lib/cmake/Qt5Core -D Qt5Gui_DIR=/opt/Qt5.12.8/5.12.8/gcc_64/lib/cmake/Qt5Gui -D Qt5Widgets_DIR=/opt/Qt5.12.8/5.12.8/gcc_64/lib/cmake/Qt5Widgets …
/usr/lib/libopencv_highgui.so.2.4: undefined reference to TIFFRGBAImageOK@LIBTIFF_4.0’ 1>
解决方法:在cmake 编译OpenCV时: cmake -D BUILD_TIFF=ON
qmake -v 默认qt 与 minicoda qt 关系
miniconda 的qt cmake 为二进制文件 不管怎么折腾 都默认为mincoda
qmake -v
QMake version 3.1
Using Qt version 5.9.7 in /home/lab316/miniconda3/lib