| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> Android NDK编译遇到的一些问题 -> 正文阅读 |
|
[移动开发]Android NDK编译遇到的一些问题 |
在配置Android.mk的时候,遇到了一些问题 1、mk文件没跑 检查代码,极可能是路径写错了,可以用$(warning $(DIR_3RDPARTY)) 打印,用ls 去看看有没有这个路径 变量赋值要用 :=,用=会导致不可预料的问题,例如变量在后续使用中被拼接了其他内容
2、编译提示找不到glxxxx符号 参照下面的博文进行了设置,仍然没效 又对到底使用LDLIBS还是LDFLAGS疑惑,进行了一番搜索。(结论:系统库推荐使用LDLIBS) LOCAL_LDLIBS vs. LOCAL_LDFLAGShttps://stackoverflow.com/questions/22354041/local-ldlibs-vs-local-ldflags最后在出错信息里面发现 LOCAL_LDLIBS is always ignored for static libraries? 我打包的是静态库,没法使用LDLIBS去链接。 最后的解决方法是,在使用这个静态库去编动态库的地方,加上依赖,我用的是GLES2 LOCAL_LDLIBS := -lEGL -lGLESv2 3、LOCAL_CFLAGS += -fPIC ?在mk里面发现很多地方都用了LOCAL_CFLAGS += -fPIC,不管是打包静态库,还是打包动态库,都加了这句。有点疑惑它的作用,特意搜了一下 编译so动态库要链接.a静态库的时候才需要 fPIC 4、编译静态库的时候,只需要依赖其他库的头文件,不用动态依赖so,因为不会起作用 LOCAL_SHARED_LIBRARIES 在使用到这个静态库去编动态库的地方加即可。
5、编译error提示“Implicit instantiation of undefined template” 代码里面使用了unordered_map,使用了enum作为key 我是简单修改为map ok了。 (这里有个疑惑,之前使用cmake构建的时候没问题,换成Android.mk就有问题了,为什么? 补充一下,好像c++14没有这个问题了,我用的是c++11来编的)? |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 20:48:57- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |