android dlib 交叉编译

博客讲述了趟NDK的坑的过程。DLIB用C++11标准,但gnustl_static下部分C++11特性无法使用,因NCNN等用静态库,所以仍用静态库编译,给出了ANDROID独立工具链编译版本的cmake命令,还介绍了修改代码支持C99的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

继续趟NDK的坑。
DLIB使用C++11的标准。
但是使用gnustl_static的时候,有些c++11的特性是无法使用的。
由于NCNN的库使用的是静态库,OPENCV,OPENBLAS用的都是静态库,这里还是使用静态库编译。

编译

首先是使用ANDROID独立工具链编版本
cmake …/ -DCMAKE_C_FLAGS="-mfpu=neon -mfloat-abi=softfp" -DNEON=ON -DCMAKE_C_COMPILER="/mnt/d/my-android-toolchain/bin/clang" -DCMAKE_CXX_COMPILER="/mnt/d/my-android-toolchain/bin/clang++" -DCMAKE_CXX_FLAGS="-std=c++11"

修改代码支持C99

  1. std::round不支持改成::round
  2. std::to_string不支持,我偷懒了,直接干掉了std::to_string。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值