MALI的 OPENCL SDK已经下载,但是如何编译是个问题,查到网上有如下的一篇文章:
http://blog.csdn.net/wcj0626/article/details/35228131
文章中提到需要更新安卓的编译器:
因为要编译到安卓平台下,我们替换9和10行内容,用安卓NDK中的arm-linux-androideabi编译器编译。所以修改platform.mk中的内容如下:
我也更新了,但是使用的时候提示“arm-none-linux-gnueabi-g++”命令找不到。
请问这个编译器的环境是如何的搭建的呢,我的电脑上通过文件查找似乎也是有这个编译器的,只是不知道如何使它有效。
附:操作系统是UBUNTU,开发板是:RK3288的开发板。
之前在电脑上编译过完整可用的全志芯片的安卓系统,开发环境是完整的,只是不知道如何修改支持调用“arm-none-linux-gnueabi-g++”编译器。
盼高手答疑解惑。
Hi erwinchen,
开发环境按你的描述你自己编译过AOSP的话,把里面编好的NDK目录附到Path里面即可,
更推荐的是下载Android官方的NDK,按相应的教程配置即可,如果生效,在jni目录执行ndk-build即可,
P.S. Android工程里CC一般其实不需要特别指定的,如还有疑问,欢迎交流
Best Regards,
Zephyr He
Zephyr,感谢你的回复。
因为电脑上的编译全志的开发环境需要一直使用,所以不敢随便改动,万一导致编译有问题就 麻烦了。
所以,我的做法就是把
这个直接替换成我电脑上有的g++编译器,似乎也能编译通过,只是不知道对不对
应该是不行,用ubuntu系统自身的编译器,编译时用的指令应该是x86的,放到ARM上运行是不行的。你这个是要做交叉编译,怎么可以不用交叉编译工具链呢
arm-none-linux-gnueabi- 是编译出ARM Linux环境下程序的编译器,一般从官方下载一个解压版的压缩包,解压出来,然后在把路径添加到环境路径中就可以了。
也有安装版的。编译器官方似乎不是linaro,linaro的是形如arm-linux-gnueabi-的名称,和arm-none-linux-gnueabi- 很容易搞混。
下载链接:arm-none-linux-gnueabi-gcc下载 – VeryARM
给出官方的参考链接:
Mali OpenCL SDK 教程 « Mali 开发人员中心
给出个人的参考练级:
arm-none-linux-androideabi- 是编译出ARM Android环境下程序的编译器,java和安卓我都不会,这个编译器也是第一次看到,不过看名字还是看得懂是干什么的,估计是从arm-none-linux-gnueabi- 改过来的,使用方法应该也一样。
我的系统因为是选用linux的系统,不打算上android,和你的情况不太一样。
谢谢楼上的解答,同意~ 我不知道你‘电脑上有的g++编译器’指的是?如果是自带gcc,编译没问题是对的,但是编出来的binary是基于x86架构的,无法在arm架构的Android设备运行,
另外,强烈建议的是看下AndroidNDK相关的教程,会帮助加深理解