解决jni项目编译生成so时报错"argument list too long"
来源:互联网 发布:网络电视播放器排行 编辑:程序博客网 时间:2024/05/16 06:15
最近接手的一个jni项目是一个原先在iOS平台上的项目,在mac机器上用eclipse时生成apk非常的顺利,到了windows下编译时却总是在生成so时出现"argument list too long"的报错,网上寻求若干资料后终于解决了这个问题,方法很简单:
在jni的android.mk文件里 前面加上一句"LOCAL_SHORT_COMMANDS := true"即可。
关于LOCAL_SHORT_COMMANDS 参数的解释:
设置这个变量为‘true’,当你的module有很多的源文件,或者依赖很多的静态或动态库。这会强制编译系统使用一个中间的列表文件,并通过@$(listfile) 语法和library archiver 或者 static linker一起使用。
这在Windows上是非常有用的,因为它的命令行只接收最大8191个字符,这对于复杂的工程来说太小了。
注意如果设置了‘true’以外的值,都会恢复成默认行为。你也可以在Android.mk文件中定义APP_SHORT_COMMANDS来强制使你的工程中的所有modules使用这项功能。
注意:默认我们不推荐启用这个功能,因为它会使得编译变慢。
参考文章:NDK官方开发指南翻译之 Android.mk
http://ikinglai.blog.51cto.com/6220785/1215819
0 0
- 解决jni项目编译生成so时报错"argument list too long"
- Cygwin,NDK编译动态库时报Argument list too long错误
- Argument list too long
- Argument list too long
- Argument list too long
- Argument list too long错误
- Argument list too long" 問題
- Argument list too long分析
- msgrcv: Argument list too long
- 【Cocos2dx】Android编译报Argument list too long错误
- Linux下出现 “Argument list too long”错误的解决
- /bin/rm: Argument list too long的解决
- LINUX中删除大量文件时报 -BASH: /BIN/RM: ARGUMENT LIST TOO LONG 错误
- -bash: /bin/rm: Argument list too long :
- Argument list too long 错误解决方法汇总
- /bin/rm: Argument list too long
- /bin/rm: argument list too long
- /bin/cat: Argument list too long
- matlab2010增加并行计算的workers(labs)数目
- 提高系统性能——对SQL语句优化的思考
- NDK官方开发指南翻译之 Android.mk
- 如何0后言文塞,是把侔
- net.sf.json.JSONException: java.lang.reflect.InvocationTargetException
- 解决jni项目编译生成so时报错"argument list too long"
- c语言lesson02
- Linux网络编程必看书籍推荐
- Web Service--java代码实现客户端编写---[小结]
- 使用Run-Time c 函数open的注意事项
- TCP/IP、Http、Socket的区别
- android 矩形碰撞
- shell变量的替换
- 盘点被App Store拒绝的79个原因