出现错误/ncnn/src/cpu.cpp:426: undefined reference to `stderr'完美解决方案。
前提情况
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
可能的问题出在分析如下
- 路径没有改,文件没有改(这里我从前到尾好好走了一遍是都改好的,并且路径正确)
- 缺少某些低版本的文件,但是最后提示error没有显示,说明不缺文件
- 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'完美解决方案。相关推荐
- libopencv_core.a(persistence.cpp.o): undefined reference to symbol 'gzclose'
此次在QT中配置OpenCV的过程中,出现了 libopencv_core.a(persistence.cpp.o): undefined reference to symbol 'gzclose' ...
- Clion:undefined reference to `cv::noArray()解决方案
完整问题复现如下: ====================[ Build | GaussNewton | Debug ]============================= /usr/loca ...
- 【Qt开发】编译时报“undefined reference to“问题的解决方案
[Qt开发]编译时报"undefined reference to"问题的解决方案 参考文章: (1)[Qt开发]编译时报"undefined reference to& ...
- Caffe编译错误记录(../lib/libcaffe.so: undefined reference to `H5LTmake_dataset_string'....)
编译caffe出错如下,百思不得其解,错误如下: 86%] Linking CXX executable train_net ../lib/libcaffe.so: undefined referen ...
- 【Qt开发】编译时报undefined reference to问题的解决方案
1. 出现原因分析 Undefined reference to 错误:这类错误是在连接过程中出现的,可能有两种原因∶ (1)是使用者自己定义的函数或者全局变量所在源代码文件,没有被编译.连接: (2 ...
- C++:undefined reference to vtable 原因与解决办法 [转]
最近在写一套基础类库用于SG解包blob字段统计,在写完了所有程序编译时遇到一个郁闷无比的错误: MailBox.o(.text+0x124): In function `CMailBox::CMa ...
- ffmpeg函数调用失败--在编译自己的ffmpeg函数的时候显示ffmpeg函数undefined reference to `av_log_set_level(int)‘
cmake 脚本报错如下: ====================[ Build | ffmpeg_log | Debug ]============================== /opt/ ...
- Qt中关于undefined reference to `vtable for故障总结
在Qt中,undefined reference to 'vtable for 通常出现在打开了宏 Q_OBJECT的程式当中.我遇到的情况是: 将类体及类体实现直接写到main.cpp里,没有包含 ...
- c/c++源文件为何要包含自己的头文件?(编译器检查定义和声明的一致性)(编译报错:undefined reference to...)
作用: 编译器检查定义和声明的一致性 参考文章并没有解释得很深入,应该从gcc/g++编译器的执行机制一步一步.来解析比较合适 参考文章:c源文件中为什么要包含自己对应的头文件 20211216 今天 ...
- 【ubuntu-qt-dlib】 配置问题 (一) undefined reference to `XPending'
问题描述:undefined reference to `XPending' source.o: In function `dlib::gui_core_kernel_2_globals::event ...
最新文章
- RabbitMQ C Client编译
- UVA 839 Not so Mobile
- dijkstra算法_Python实现图的经典DFS、BFS、Dijkstra、Floyd、Prim、Kruskal算法
- 多线程售票demo,用ReentrantLock实现
- linux-basic(8)linux磁盘与文件系统管理
- Vue自定义指令-实时时间转换指令 v-time开发
- 深入浅出VC++串口编程--短信应用开发
- CToolBarCtrl工具栏设置总结(转)
- Shell 编程知识点集锦
- Unity DOTS在hybird renderer v2 中rendermesh不显示
- 计算机硬件报警声音,电脑开机报警声音大全详解及处理
- DeepLearning | Broad Learning System 宽度学习系统 : 高效增量式浅层神经网络
- ios python3.0编程软件_ios编程软件-7款学习Python编程的iPhone/iPad应用
- ubuntu下使用pip卸载包时出现Cannot uninstall scipy
- 简单socket聊天小程序+socket简单封装
- html分页自动加载数据,硕正控件默认会自动加载数据
- 大厂面试:一个四年多经验程序员的BAT面经(字节、阿里、腾讯)
- 仿写爱奇艺网页的问题和解决方法
- 浅析 ddl,dml,dql,dcl 概念定义
- android七牛多张图片上传
热门文章
- (2021) 26 [持久化] 持久数据的可靠性:RAID和journaling
- 电力系统暂态稳定性仿真 matlab/simulink 仿真模型+设计报告
- FAT文件系统与文件恢复
- Textpattern Solutions: PHP-Based Content Management Made Easy
- Unity知识点0001(Yanlz+协程+List+MeshRender+对象池+链条关节+PlayerPrefs+脚本生命周期+LOD+)
- asp.net core部署在docker容器中运行
- 国内比较优秀的.net论坛源代码收集
- 数学分析教程(科大)——6.2笔记+习题
- 计算机辅助模具设计实训心得6,模具设计实训心得体会3篇
- laravel与thinkphp相比有哪些优势?他们之间的区别/优缺点在哪