Ubuntu16.0.4+Opencv4.1+dlib19.17+qtcreator的配置

简单记录下配置dlib19.17的坑!!!

1 opencv4.0+qtcreator及其他说明

ubuntu环境下:1.qtcreator的安装。

                            2.opencv4.0的编译和安装。

                            3.基于qtcreator使用opencv4.0开发。

以上这些请参考我的另外一篇博客《OpenCV学习笔记1(在Ubuntu上的安装)》

注意:1. 上次的版本为opencv4.0,此次版本为opencv4.1,区别在于编译后,在/usr/local/lib中生成的opencv各模块的动态链接库的版本号可能会不同,参考两篇文章很明显都可以看到这些区别。

             2.一般情况下,dlib以及opencv经编译后,安装的头文件位置一般是:/usr/local/include;生成的静态链接库或者动态链接库的位置是:/usr/local/lib,如下图所示:

Ubuntu16.0.4+Opencv4.1+dlib19.17+qtcreator的配置_第1张图片

2 dlib19.17的动态编译或者静态编译

2.1 动态编译

cd dlib-19.17/
mkdir build
cd build
cmake -DBUILD_SHARED_LIBS=ON -DDLIB_USE_LAPACK=1 ..
cmake --build . --config Release
sudo make install
sudo ldconfig

动态链接库:  libdlib.so 和 libdlib.so.19.17.0

2.2 静态编译

cd dlib-19.17/
mkdir build
cd build
cmake ..
cmake --build . --config Release
sudo make install
sudo ldconfig
静态链接库:  libdlib.a

3 qtcreator与dlib19.17

3.1 qtcreator中的pro文件

TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt

QMAKE_CXXFLAGS += -std=c++11
OR
CONFIG += c++11  #opencv需要C++11支持

SOURCES += main.cpp


INCLUDEPATH += /usr/local/include         \
               /usr/local/include/opencv4 \


LIBS += /usr/local/lib/libopencv_bgsegm.so.4.1      \
        /usr/local/lib/libopencv_bioinspired.so.4.1 \
        /usr/local/lib/libopencv_calib3d.so.4.1     \
        /usr/local/lib/libopencv_ccalib.so.4.1      \
        /usr/local/lib/libopencv_core.so.4.1 \
        /usr/local/lib/libopencv_datasets.so.4.1 \
        /usr/local/lib/libopencv_dnn_objdetect.so.4.1 \
        /usr/local/lib/libopencv_dnn.so.4.1 \
        /usr/local/lib/libopencv_dpm.so.4.1 \
        /usr/local/lib/libopencv_face.so.4.1 \
        /usr/local/lib/libopencv_features2d.so.4.1 \
        /usr/local/lib/libopencv_flann.so.4.1 \
        /usr/local/lib/libopencv_freetype.so.4.1 \
        /usr/local/lib/libopencv_fuzzy.so.4.1 \
        /usr/local/lib/libopencv_hfs.so.4.1 \
        /usr/local/lib/libopencv_highgui.so.4.1 \
        /usr/local/lib/libopencv_imgcodecs.so.4.1 \
        /usr/local/lib/libopencv_img_hash.so.4.1 \
        /usr/local/lib/libopencv_imgproc.so.4.1 \
        /usr/local/lib/libopencv_line_descriptor.so.4.1 \
        /usr/local/lib/libopencv_ml.so.4.1 \
        /usr/local/lib/libopencv_objdetect.so.4.1 \
        /usr/local/lib/libopencv_optflow.so.4.1 \
        /usr/local/lib/libopencv_phase_unwrapping.so.4.1 \
        /usr/local/lib/libopencv_photo.so.4.1 \
        /usr/local/lib/libopencv_plot.so.4.1 \
        /usr/local/lib/libopencv_reg.so.4.1 \
        /usr/local/lib/libopencv_rgbd.so.4.1 \
        /usr/local/lib/libopencv_saliency.so.4.1 \
        /usr/local/lib/libopencv_shape.so.4.1 \
        /usr/local/lib/libopencv_stereo.so.4.1 \
        /usr/local/lib/libopencv_stitching.so.4.1 \
        /usr/local/lib/libopencv_structured_light.so.4.1 \
        /usr/local/lib/libopencv_superres.so.4.1 \
        /usr/local/lib/libopencv_surface_matching.so.4.1 \
        /usr/local/lib/libopencv_text.so.4.1 \
        /usr/local/lib/libopencv_tracking.so.4.1 \
        /usr/local/lib/libopencv_videoio.so.4.1 \
        /usr/local/lib/libopencv_video.so.4.1 \
        /usr/local/lib/libopencv_videostab.so.4.1 \
        /usr/local/lib/libopencv_xfeatures2d.so.4.1 \
        /usr/local/lib/libopencv_ximgproc.so.4.1 \
        /usr/local/lib/libopencv_xobjdetect.so.4.1 \
        /usr/local/lib/libopencv_xphoto.so.4.1 \
        /usr/local/lib/libopencv_aruco.so.4.1 \
        /usr/local/lib/libdlib.so \
        /usr/local/lib/libdlib.so.19.17.0 \
        /usr/lib/liblapack.so.3

3.2 为什么要加入/usr/lib/liblapack.so.3?

推测由于dlib以及ubuntu等都存在liblapack.so.3原因,所以在链接上存在一些问题:

Ubuntu16.0.4+Opencv4.1+dlib19.17+qtcreator的配置_第2张图片

后期注释后,竟然编译又通过了,尼马?总之,加上去没坏处。

你可能感兴趣的:(Ubuntu16.0.4+Opencv4.1+dlib19.17+qtcreator的配置)