参考文章:

ubuntu安装Dlib(C++与Python)

https://blog.csdn.net/sinat_38354963/article/details/90517321

ubuntu编译使用Dlib、OpenCV

https://blog.csdn.net/qq_34106574/article/details/85626465

opencv之在Linux下编译opencv程序的两种方式g++、cmake(参考性较弱)

https://blog.csdn.net/keith_bb/article/details/52864851

ARM交叉编译工具下载、或已安装

https://blog.csdn.net/baidu_38172402/article/details/82908838

ARM编译Dlib、cmake 交叉编译防坑指南

https://github.com/david8862/dlib_on_arm

https://blog.csdn.net/cloudybear/article/details/79237137

cmake编译参数修改,aarch64版本,-mtune=cortex-a35

https://blog.csdn.net/yiran103/article/details/104065490

https://community.arm.com/cn/f/discussions/9924/neon--mfpu-neon-fpu-64bit

https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/AArch64-Options.html#AArch64-Options

ubuntu下dlib编译C++(共享库)及使用,即cmake编译dlib开源文件的步骤和文件结构(讲解详细,example编译,好)

https://blog.csdn.net/QTVLC/article/details/83313208

dlib的gpu环境配置(python版)

https://blog.csdn.net/jixinpu/article/details/83010456

Dlib教程docs编译(编不过,作者用dlib.net的,makedocs报错)

make: sphinx-build: Command not found

https://blog.csdn.net/Will_Ye/article/details/106319473

linux中没有dos2UNIX或者UNIX2dos命令怎么解决办法(sudo apt-get install dos2unix)

https://blog.csdn.net/w616589292/article/details/38274475/

makedocs前需安装python版dlib(python setup.py install),下载dlib-master进行编译,代码全

奉上我的编译代码:

ubuntu主机

编译安装Dlib

mkdir x64_build

cd x64_build

cmake .. -DUSE_AVX_INSTRUCTIONS=1

cmake --build . --config Release

sudo make install

sudo ldconfig

build.sh文件

mkdir build

cd build

cmake ..

make -j8 #用make也行

CMakeLists.txt文件

cmake_minimum_required(VERSION 2.8.4) #版本最小为2.8.4

PROJECT(dlib_facedetector) #设置工程名

SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -O2 -DDLIB_JPEG_SUPPORT")

IF(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")

SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Weverything")

ELSEIF(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")

SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra")

ENDIF()

#INCLUDE OPENCV

FIND_PACKAGE(OpenCV REQUIRED)

INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS})

message(STATUS "Opencv include dir found at ${OpenCV_INCLUDE_DIRS}")

#包含头文件

INCLUDE_DIRECTORIES(/home/robert/DeepLearning/Dlib/dlib-19.19.0) #dlib根目录地址

LINK_DIRECTORIES(/home/robert/DeepLearning/Dlib/dlib-19.19.0/x64_build/dlib/) #dlib编译后bulid下dlib地址

#生产类似于.exe的可执行文件

ADD_EXECUTABLE(${PROJECT_NAME} face_detection_dlib_hog.cpp)

#链接库

TARGET_LINK_LIBRARIES(${PROJECT_NAME} dlib ${OpenCV_LIBS})

#TARGET_LINK_LIBRARIES(dlib_detector libjpeg.so)

ARM板子编译Dlib

build.sh文件

#!/bin/bash

set -e # Exit immediately if a command exits with a non-zero status.

BuildDir=dlib_build

if [ ! -d "$BuildDir" ]; then

# Take action if $BuildDir doesn‘t exists.

echo "create ${BuildDir}..."

mkdir -p ${BuildDir}

fi

cd ${BuildDir}

echo "building Dlib19.19.0"

export LD_LIBRARY_PATH=/opt/fsl-imx-xwayland/4.14-sumo/sysroots/aarch64-poky-linux/usr/lib

source /opt/fsl-imx-xwayland/4.14-sumo/environment-setup-aarch64-poky-linux

cmake -DCMAKE_TOOLCHAIN_FILE=../toolchain.cmake -DBUILD_SHARED_LIBS=ON –build –config Release ..

make -j$(nproc)

CMakeLists.txt

cmake_minimum_required(VERSION 2.8.12)

get_directory_property(has_parent PERENT_DIRECTORY)

if(NOT has_parent)

set(DLIB_IN_PROJECT_BUILD false)

endif()

add_subdirectory(dlib)

toolchain.cmake

# this is required

SET(CMAKE_SYSTEM_NAME Linux)

# specify the cross compiler

SET(CMAKE_C_COMPILER /opt/fsl-imx-xwayland/4.14-sumo/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gcc)

SET(CMAKE_CXX_COMPILER /opt/fsl-imx-xwayland/4.14-sumo/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-g++)

SET(CMAKE_SYSROOT /opt/fsl-imx-xwayland/4.14-sumo/sysroots/aarch64-poky-linux)

# where is the target environment

SET(CMAKE_FIND_ROOT_PATH /opt/fsl-imx-xwayland/4.14-sumo/sysroots/aarch64-poky-linux)

# specify the compiler flag

SET(CMAKE_C_FLAGS -O3 -mtune=cortex-a35)

SET(CMAKE_CXX_FLAGS -std=c++11 -O3 -mtune=cortex-a35)

# search for programs in the build host directories (not necessary)

SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)

# for libraries and headers in the target directories

SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)

SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

ARM板子使用Dlib

build.sh

#!/bin/bash

set -e # Exit immediately if a command exits with a non-zero status.

BuildDir=dlib_build

if [ ! -d "$BuildDir" ]; then

# Take action if $BuildDir doesn‘t exists.

echo "create ${BuildDir}..."

mkdir -p ${BuildDir}

fi

cd ${BuildDir}

echo "building face_detection_dlib_hog.cpp"

export LD_LIBRARY_PATH=/opt/fsl-imx-xwayland/4.14-sumo/sysroots/aarch64-poky-linux/usr/lib

source /opt/fsl-imx-xwayland/4.14-sumo/environment-setup-aarch64-poky-linux

#ToolChain=/opt/fsl-imx-xwayland/4.14-sumo/sysroots/x86_64-pokysdk-linux

cmake -DCMAKE_TOOLCHAIN_FILE=../toolchain.cmake -DBUILD_SHARED_LIBS=ON –build –config Release ..

make -j$(nproc)

CMakeLists.txt

cmake_minimum_required(VERSION 2.8.4) #版本最小为2.8.4

PROJECT(dlib_facedetector) #设置工程名

SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -O2 -DDLIB_JPEG_SUPPORT")

IF(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")

SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Weverything")

ELSEIF(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")

SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra")

ENDIF()

#INCLUDE OPENCV

FIND_PACKAGE(OpenCV REQUIRED)

INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS})

message(STATUS "Opencv include dir found at ${OpenCV_INCLUDE_DIRS}")

#包含头文件

INCLUDE_DIRECTORIES(/home/robert/DeepLearning/NXP-imx8QX/CompileResult/dlib-19.19.0) #dlib根目录地址

LINK_DIRECTORIES(/home/robert/DeepLearning/NXP-imx8QX/CompileResult/dlib-19.19.0/dlib_build/dlib/) #dlib编译后bulid下dlib地址

#生产类似于.exe的可执行文件

ADD_EXECUTABLE(${PROJECT_NAME} face_detection_dlib_hog.cpp)

#链接库

TARGET_LINK_LIBRARIES(${PROJECT_NAME} dlib ${OpenCV_LIBS})

#TARGET_LINK_LIBRARIES(dlib_detector libjpeg.so)

toolchain.cmake

# this is required

SET(CMAKE_SYSTEM_NAME Linux)

# specify the cross compiler

SET(CMAKE_C_COMPILER /opt/fsl-imx-xwayland/4.14-sumo/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gcc)

SET(CMAKE_CXX_COMPILER /opt/fsl-imx-xwayland/4.14-sumo/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-g++)

SET(CMAKE_SYSROOT /opt/fsl-imx-xwayland/4.14-sumo/sysroots/aarch64-poky-linux)

# where is the target environment

SET(CMAKE_FIND_ROOT_PATH /opt/fsl-imx-xwayland/4.14-sumo/sysroots/aarch64-poky-linux)

# specify the compiler flag

SET(CMAKE_C_FLAGS -O3 -mtune=cortex-a35)

SET(CMAKE_CXX_FLAGS -std=c++11 -O3 -mtune=cortex-a35)

# search for programs in the build host directories (not necessary)

SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)

# for libraries and headers in the target directories

SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)

SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

dlib linux 编译使用,ubuntu/ARM编译使用Dlib、OpenCV相关推荐

  1. linux 编译 suitesparse,Ubuntu下编译SuiteSparse-4.4.1和METIS-4.0.3

    ubuntu下编译caffe Ubuntu下编译caffe 纯粹是个人编译的记录.不用CUDA(笔记本是amd卡,万恶的nvidia):不手动编译依赖包(apt-get是用来干啥的?用来直接装二进制包 ...

  2. MDK编译过程及ARM编译工具链

    欢迎加入[Linux C/C++/Python社区]一起探讨和分享Linux C/C++/Python/Shell编程.机器人技术.机器学习.机器视觉.嵌入式AI相关领域的知识和技术. MDK编译过程 ...

  3. linux下编译webkit,ubuntu下编译webkit

    1.下载webkit源码,由于ubuntu版本为10.04,所以下载的webkit版本也比较靠前. 2.解压到文件夹下,运行/WebKit-r58572/WebKitTools/Scripts/bui ...

  4. linux x11 错误,Ubuntu X11 编译错误问题。

    在Ubuntu编译程序时出现的错误,在安装日志上发现一句:x11/xlib.h nosuch file or directory 在网上查阅了资料,原来是x11M没有装. 解决方案: 先安装X11,命 ...

  5. 编译linux内核分区,Ubuntu编译内核及grub的一些笔记

    最近心态不稳定,不怎么想发表文章,但看了看之前写了的笔记,想想还是整理出来吧,其实我写文章,也有一部分原因是为了心里的慰藉--当年游戏打不过别人,关注点便转向其它方面.这里整理的是以前编译内核.引导启 ...

  6. linux系统嵌入式编译环境,Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程图解...

    Linux版本:Ubuntu 12.04 内核版本:Linux 3.5.0 交叉编译器版本:arm-linux-gcc-4.4.3 交叉编译器下载 见这篇文章http://www.linuxidc.c ...

  7. linux arm 无法执行二进制文件,qemu-arm无法运行arm编译的二进制文件

    我使用qemu,qemu-user和安装的gnueabi工具链运行Linux Mint 14.我用arm-linux-gnueabi-gcc test.c -o test编译了test.c.qemu- ...

  8. 初试linux编译(ubuntu+vim)+玩转智能蛇

    一.初试linux编译(ubuntu+vim) 步骤: ①下载vmware15+ubuntu桌面版映像 ②安装ubuntu ③下载vim+gcc 在ubuntu终端输入: sudo apt-get i ...

  9. linux编译ffmepg,在Ubuntu下编译FFmpeg

    在之前,我们成功地使用mingw+msys在Windows平台下编译FFmpeg(见 http://www.linuxidc.com/Linux/2014-11/109839.htm),并生成了ffp ...

最新文章

  1. 别再搞错!OAuth 2.0只是授权协议,OIDC才是认证授权协议
  2. 服务器本地文件,云服务器 本地文件
  3. Chrome谷歌浏览器76地址栏隐藏的HTTPS和WWW标记如何恢复
  4. 在Windows Server 2016 Core上运行SQL Server容器
  5. linux下mysql的忘记root密码的解决办法
  6. 阶段3 3.SpringMVC·_02.参数绑定及自定义类型转换_5 自定义类型转换器演示异常
  7. axis1 c# 接口 调用_C#图形编程GDI+基础
  8. linux彻底卸载 mysql
  9. Mujoco-二阶单摆建模与控制
  10. 多个excel合并为一个excel的多个sheet
  11. HLOJ486 种花小游戏
  12. 华为云D-Plan解决方案为企业数智升级注入AI新动力
  13. Lua基础教程与实践
  14. android 7zip,7zip手机版
  15. pip安装的依赖不在虚拟环境中
  16. 计算机开机没有显示是什么原因是什么情况,电脑开机后显示器没有反应解决方法...
  17. 实录丨戴琼海:深度学习遭遇瓶颈,全脑观测启发下一代AI算法
  18. Meanshift 和 Camshift
  19. php mssql 存储过程 输入参数,MSSQL_SQL Server存储过程中使用表值作为输入参数示例,在2008之前如果我们想要将表作 - phpStudy...
  20. IN和EXISTS、not in 和not exists的效率详解

热门文章

  1. 计算机高水平竞赛,计算机学院学子在CCSP竞赛中荣获佳绩
  2. 医生提醒:坐办公室一族应1小时活动5分钟
  3. C#NPoi,将多个表数据导出到同一个ECXCL
  4. linux hd4000显卡驱动,如何在Linux上为Intel HD 4000获取OpenGL 4
  5. cad跨图纸复制不了怎么解决?
  6. 查理·芒格推荐的投资人必读书单
  7. 音视频文件码率与大小计算
  8. 功能对等四个原则_功能对等理论的简要介绍及其原则
  9. Excel制作表格的小技巧
  10. Onvif协议:IPC客户端开发之获取设备能力