前提情况

1。 android studio 编译器
2。 利用ncnn前向推理框架进行移植caffemodel到android手机端
3。 使用cmake进行编译,NDK java的c++接口

出现问题

/ncnn/src/cpu.cpp:426: undefined reference to `stderr'(主要问题根源)

具体问题如下(为了大家能够看得清楚,这里我把背景调成白的了,平时都是黑的)

分析问题

首先出现问题的过程是因为我这边用的ncnn最后make build的平台是armeabi-v7a,为大多数android手机的硬件cpu结构,但是此处项目需要需要用到RK3399硬件,查之后得知cpu架构为arm64-v8a,所以需要更改一些文件(ncnn make-build时的libncnn.a文件和include文件夹,具体可参考ncnn使用),还需要更改一些路径CMakeList中的路径以及build-gradle文件中的平台名称如下图:


这样应该如愿以偿进行编译项目工程的时候就会Cmake成功得到libMobileNetssd.so文件
并且此文件在如下图位置,当然画红框的文件夹名称应该为此时的cpu框架arm64-v8a

好了!
现在已经分析好了,从前到尾整个过程,但是最后编译会出现以前error
可能的问题出在分析如下

  1. 路径没有改,文件没有改(这里我从前到尾好好走了一遍是都改好的,并且路径正确)
  2. 缺少某些低版本的文件,但是最后提示error没有显示,说明不缺文件
  3. SDK的版本问题
    为啥会有最后一种思考呢?因为cmake的用法我已经很熟悉,深度学习框架caffe和前向推理ncnn的用法都不存在问题,所以唯一的问题就应该存在于sdk某些版本支持问题(android这方面很常见)

解决

https://stackoverflow.com/questions/51767214/android-studio-with-ndk-link-error-undefined-reference-to-stderr
看了这个回答,我把我的minSdkVersion改大了

改成这样

最终完美解决生成.so,整个项目也可以正常运行了

思考

我的想法是 因为这个cpu架构出的可能比较晚,或者说androd sdk高版本才支持所以,需要把最小的androidsdk版本调高即可

出现错误/ncnn/src/cpu.cpp:426: undefined reference to `stderr'完美解决方案。相关推荐

  1. libopencv_core.a(persistence.cpp.o): undefined reference to symbol 'gzclose'

    此次在QT中配置OpenCV的过程中,出现了 libopencv_core.a(persistence.cpp.o): undefined reference to symbol 'gzclose' ...

  2. Clion:undefined reference to `cv::noArray()解决方案

    完整问题复现如下: ====================[ Build | GaussNewton | Debug ]============================= /usr/loca ...

  3. 【Qt开发】编译时报“undefined reference to“问题的解决方案

    [Qt开发]编译时报"undefined reference to"问题的解决方案 参考文章: (1)[Qt开发]编译时报"undefined reference to& ...

  4. Caffe编译错误记录(../lib/libcaffe.so: undefined reference to `H5LTmake_dataset_string'....)

    编译caffe出错如下,百思不得其解,错误如下: 86%] Linking CXX executable train_net ../lib/libcaffe.so: undefined referen ...

  5. 【Qt开发】编译时报undefined reference to问题的解决方案

    1. 出现原因分析 Undefined reference to 错误:这类错误是在连接过程中出现的,可能有两种原因∶ (1)是使用者自己定义的函数或者全局变量所在源代码文件,没有被编译.连接: (2 ...

  6. C++:undefined reference to vtable 原因与解决办法 [转]

    最近在写一套基础类库用于SG解包blob字段统计,在写完了所有程序编译时遇到一个郁闷无比的错误:  MailBox.o(.text+0x124): In function `CMailBox::CMa ...

  7. ffmpeg函数调用失败--在编译自己的ffmpeg函数的时候显示ffmpeg函数undefined reference to `av_log_set_level(int)‘

    cmake 脚本报错如下: ====================[ Build | ffmpeg_log | Debug ]============================== /opt/ ...

  8. Qt中关于undefined reference to `vtable for故障总结

    在Qt中,undefined reference to 'vtable for 通常出现在打开了宏 Q_OBJECT的程式当中.我遇到的情况是: 将类体及类体实现直接写到main.cpp里,没有包含 ...

  9. c/c++源文件为何要包含自己的头文件?(编译器检查定义和声明的一致性)(编译报错:undefined reference to...)

    作用: 编译器检查定义和声明的一致性 参考文章并没有解释得很深入,应该从gcc/g++编译器的执行机制一步一步.来解析比较合适 参考文章:c源文件中为什么要包含自己对应的头文件 20211216 今天 ...

  10. 【ubuntu-qt-dlib】 配置问题 (一) undefined reference to `XPending'

    问题描述:undefined reference to `XPending' source.o: In function `dlib::gui_core_kernel_2_globals::event ...

最新文章

  1. RabbitMQ C Client编译
  2. UVA 839 Not so Mobile
  3. dijkstra算法_Python实现图的经典DFS、BFS、Dijkstra、Floyd、Prim、Kruskal算法
  4. 多线程售票demo,用ReentrantLock实现
  5. linux-basic(8)linux磁盘与文件系统管理
  6. Vue自定义指令-实时时间转换指令 v-time开发
  7. 深入浅出VC++串口编程--短信应用开发
  8. CToolBarCtrl工具栏设置总结(转)
  9. Shell 编程知识点集锦
  10. Unity DOTS在hybird renderer v2 中rendermesh不显示
  11. 计算机硬件报警声音,电脑开机报警声音大全详解及处理
  12. DeepLearning | Broad Learning System 宽度学习系统 : 高效增量式浅层神经网络
  13. ios python3.0编程软件_ios编程软件-7款学习Python编程的iPhone/iPad应用
  14. ubuntu下使用pip卸载包时出现Cannot uninstall scipy
  15. 简单socket聊天小程序+socket简单封装
  16. html分页自动加载数据,硕正控件默认会自动加载数据
  17. 大厂面试:一个四年多经验程序员的BAT面经(字节、阿里、腾讯)
  18. 仿写爱奇艺网页的问题和解决方法
  19. 浅析 ddl,dml,dql,dcl 概念定义
  20. android七牛多张图片上传

热门文章

  1. (2021) 26 [持久化] 持久数据的可靠性:RAID和journaling
  2. 电力系统暂态稳定性仿真 matlab/simulink 仿真模型+设计报告
  3. FAT文件系统与文件恢复
  4. Textpattern Solutions: PHP-Based Content Management Made Easy
  5. Unity知识点0001(Yanlz+协程+List+MeshRender+对象池+链条关节+PlayerPrefs+脚本生命周期+LOD+)
  6. asp.net core部署在docker容器中运行
  7. 国内比较优秀的.net论坛源代码收集
  8. 数学分析教程(科大)——6.2笔记+习题
  9. 计算机辅助模具设计实训心得6,模具设计实训心得体会3篇
  10. laravel与thinkphp相比有哪些优势?他们之间的区别/优缺点在哪