码迷,mamicode.com
首页 > 移动开发 > 详细

ndk开发之编译安卓c/c++程序

时间:2015-04-14 00:12:40      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:

  • 安装ndk

从安卓官网下载,ndk,双击解压到当前文件夹。建议想装在那个文件夹便解压到那个文件夹,而且文件夹的路径中不要有空格,因为gcc编译的时候会把空格前后两个字符串作为两个文件夹来对待。

  • 使用gcc手动编译

使用gcc编译程序需要先编写makefile文件,然后通过gcc make工具进行编译,makefile文件内容如下:

 1 NDK_ROOT=C:/android-ndk-r10d
 2 TOOLCHAINS_ROOT=$(NDK_ROOT)/toolchains/arm-linux-androideabi-4.9/prebuilt/windows
 3 TOOLCHAINS_PREFIX=$(TOOLCHAINS_ROOT)/bin/arm-linux-androideabi
 4 TOOLCHAINS_INCLUDE=$(TOOLCHAINS_ROOT)/lib/gcc/arm-linux-androideabi/4.9/include-fixed
 5 PLATFORM_ROOT=$(NDK_ROOT)/platforms/android-21/arch-arm
 6 PLATFORM_INCLUDE=$(PLATFORM_ROOT)/usr/include
 7 PLATFORM_LIB=$(PLATFORM_ROOT)/usr/lib
 8 MODULE_NAME=hello
 9 RM=del
10 FLAGS=-I$(TOOLCHAINS_INCLUDE)11     -I$(PLATFORM_INCLUDE)12     -L$(PLATFORM_LIB)13     -nostdlib14     -lgcc15     -Bdynamic16     -lc
17 OBJS=$(MODULE_NAME).o18     $(PLATFORM_LIB)/crtbegin_dynamic.o19     $(PLATFORM_LIB)/crtend_android.o
20 
21 all:
22     $(TOOLCHAINS_PREFIX)-gcc $(FLAGS) -c $(MODULE_NAME).c -o $(MODULE_NAME).o
23     $(TOOLCHAINS_PREFIX)-gcc $(FLAGS) $(OBJS) -o $(MODULE_NAME)
24 clean:
25     $(RM) *.o
26 install:
27     adb push $(MODULE_NAME) /data/local/tmp
28     adb shell chmod 755 /data/local/tmp/$(MODULE_NAME)

其中gcc make工具位于..\android-ndk-r10d\prebuilt\windows\bin下,此目录需要加入到系统或临时的PATH环境变量中,然后将hello.c于makefile文件放到一个目录中,开启虚拟机,然后依次执行以下命令:

make
make install 
adb shell /data/local/tmp/hello

便会看到熟悉的“hello world!!!”输出了。

makefile中的I和L要记得分清,我没注意到,结果编译的时候总是报错。

ndk开发之编译安卓c/c++程序

标签:

原文地址:http://www.cnblogs.com/qiantangbanmu/p/4423557.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!