Ubuntu下dlib编译

  dlib编译命令非常简单,但编译中可能会遇到一些问题,以及官方命令编译出来的是静态库.a文件,因此需要分析下cmake编译命令。

常规流程

  Ubuntu下通常的dlib编译方法为:

  其命令可简化为:

mkdir build
cd build
cmake --build . --config Release

  需要注意的是使用过程中可能出现USER_ERROR__inconsistent_build_configuration__see_dlib_faq_2、jpeglib.h无法打开等问题,可参照VS2015+DLIB19.10配置, dlib_faq_2和dlib_faq_1问题解决,添加必要文件和命令解决。

编译so包方法

  常规流程的编译指令会生成静态库.a文件,且这样的命令和一般Linux环境下cmake的编译指令有一些差异(见OpenCV的编译过程),不好在编译过程中配置属性,因此想使用-D这种方式来编译。

  首先是官方编译指令中唯一的设置项cmake --build . --config Release,其中--build . --config Release就是-D CMAKE_BUILD_TYPE=RELEASE的用途,即在build阶段指定编译器类型,因此Ubuntu环境下可用如下指令进行编译:

cmake -D CMAKE_BUILD_TYPE=RELEASE \
      -D CMAKE_INSTALL_PREFIX=/usr/local \
      -D BUILD_SHARED_LIBS=ON ..

  其中CMAKE_INSTALL_PREFIX指定安装路径,如果如官方文档不执行make install,可用忽略;

  BUILD_SHARED_LIBS即设置最后生成文件是否为动态库,原Makefile中应该默认设置为“NO”状态,导致最后编译文件为.a文件,设置为"ON"后即可生成.so文件。

  

  

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值