安卓打包失败:opening dependency file *.o.d: No such file or directory

简介: 安卓打包失败:opening dependency file *.o.d: No such file or directory
LOCAL_PATH := $(call my-dir)
LOCAL_MODULE := cocos2dx_internal_static
LOCAL_SRC_FILES := \
$(wildcard $(LOCAL_PATH)/project/arrow/*.cpp) \
复制代码

wildcard

用来明确表示通配符,举个例子:

OBJTREE = /root/Makefile
src = $(wildcard $(OBJTREE)/include/config.mk)
all:
@echo $(src)
复制代码

假设和 Makefile 文件同目录下已经有 include/config.mk 文件,输出:

# make
/root/Makefile/include/config.mk
复制代码

分析

所以上边的makefile写法,会导致LOCAL_SRC_FILES的文件名是绝对路径,jin在编译的时候,编译产生的文件会以mk文件中的路径来创建。

比如 LOCAL_PATH=C://game,那么LOCAL_SRC_FILES最终的值为:

  • C://game/project/arrow/1.cpp
  • C://game/project/arrow/2.cpp
  • ...

在编译的时候,产生的中间O文件存放位置为:

proj.android-studio/app/build/intermediates/ndkBuild/debug/obj/local/armeabi/objs-debug/cocos2dx_internal_static/+C_/game/project/arrow/1.cpp

其中

  • cocos2dx_internal_staticLOCAL_MODULE
  • C_是盘符

路径就是这么长,当超过一定长度后,O文件就无法生成了,所以也就报错opening dependency file *.o.d: No such file or directory

解决办法

去掉 $(LOCAL_PATH),这样就能减少路径长度,所以这里就不能使用wildcard啦

因为$(wildcard project/arrow/*.cpp)的结果是错误的

看来不能偷懒使用通配符加入SRC_FILES啦,只能自己手动一个一个码了



目录
相关文章
|
7月前
|
敏捷开发 Java 机器人
云效产品使用常见问题之打包后的Android应用获取下载地址失败如何解决
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
6月前
|
安全 Java Android开发
05. 【Android教程】Android 程序签名打包
05. 【Android教程】Android 程序签名打包
72 1
|
4月前
|
安全 Java Android开发
【Android P】OTA升级包定制,移除不需要更新的分区,重新打包签名
如何解压OTA升级包、编辑升级包内容(例如移除不需要更新的分区)、重新打包、签名以及验证OTA文件的过程。
367 2
【Android P】OTA升级包定制,移除不需要更新的分区,重新打包签名
|
5月前
|
Android开发
【亲测,安卓版】快速将网页网址打包成安卓app,一键将网页打包成app,免安装纯绿色版本,快速将网页网址打包成安卓apk
【亲测,安卓版】快速将网页网址打包成安卓app,一键将网页打包成app,免安装纯绿色版本,快速将网页网址打包成安卓apk
154 0
|
6月前
|
Java 开发工具 Android开发
详细解读Android开发DNK开发将.c文件打包成os
详细解读Android开发DNK开发将.c文件打包成os
35 0
|
6月前
|
jenkins 持续交付 开发工具
Android使用Jenkins打包自动维护sdk版本号
Android使用Jenkins打包自动维护sdk版本号
67 0
|
6月前
|
Android开发
Android Gradle开发—脚本实现自动打包后复制一份APK文件,并修改APK名称,到指定目录作备份
Android Gradle开发—脚本实现自动打包后复制一份APK文件,并修改APK名称,到指定目录作备份
343 0
|
7月前
|
Java Linux 调度
Android 打包分析
Android 打包分析
65 2
|
7月前
|
设计模式 缓存 Java
补齐Android技能树——从AGP构建过程到APK打包过程,安卓rxjava面试
补齐Android技能树——从AGP构建过程到APK打包过程,安卓rxjava面试
|
7月前
|
Java Android开发
Android module 打包成aar或jar
Android module 打包成aar或jar
296 0