您的位置:首页 > 移动开发 > Android开发

Android 非NDK方式编译C文件

2011-02-23 15:44 267 查看
前天弄好了NDK的开发环境,做了jni
的开发测试。由于没有在实际的项目中使用NDK开发,不知道下面该弄点什么。想起之前做ril的时候,调试3G模块时,自己写的AT
command的交互程序的编译是放到android源码中利用Android.mk编译的。一直想写make文件独立于android源码编译
C/C++.

那就开始了!交叉编译器就用 NDK自己的。

先贴上makefile。

view plain
copy to clipboard
print
?

cc=/work/tool/android-ndk-r5/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin/arm-eabi-gcc

pre-path=/work/tool/android-ndk-r5/platforms/android-8/arch-arm/usr

lib=$(pre-path)/lib

ic=$(pre-path)/include

extra_objs:=$(pre-path)/lib/crtend_android.o $(pre-path)/lib/crtbegin_static.o

LDFLAGS +=-nostdlib

LDFLAGS += -lc -ldl -Bdynamic -Wl,-dynamic-linker,/system/bin/linker

shard: shard.o

$(cc) $(LDFLAGS) $(extra_objs) -g -o0 -Wall -std=c99 -I$(ic) -L$(lib) -o shard shard.o

shard.o: shard.c

$(cc) -I$(ic) -L$(lib) -c shard.c

.PHONY:clean

clean:

rm shard shard.o

cc=/work/tool/android-ndk-r5/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin/arm-eabi-gcc
pre-path=/work/tool/android-ndk-r5/platforms/android-8/arch-arm/usr
lib=$(pre-path)/lib
ic=$(pre-path)/include
extra_objs:=$(pre-path)/lib/crtend_android.o $(pre-path)/lib/crtbegin_static.o
LDFLAGS +=-nostdlib
LDFLAGS += -lc -ldl -Bdynamic -Wl,-dynamic-linker,/system/bin/linker
shard: shard.o
$(cc) $(LDFLAGS) $(extra_objs) -g -o0 -Wall -std=c99 -I$(ic)  -L$(lib) -o shard shard.o
shard.o: shard.c
$(cc) -I$(ic)  -L$(lib) -c shard.c
.PHONY:clean
clean:
rm shard shard.o


C文件很简单

view plain
copy to clipboard
print
?

#include <string.h>

#include <stdio.h>

static

char
* s_string=
"我是 辉辉'/n'我的邮箱lzh20044178@163.com"
;

int
main()

{

printf("%s/n"
, s_string);

return
0;

}

#include <string.h>
#include <stdio.h>
static char* s_string="我是 辉辉'/n'我的邮箱lzh20044178@163.com";
int main()
{
printf("%s/n", s_string);
return 0;
}


对此makefile的参数的注释,参看

http://blog.csdn.net/lzh20044178/archive/2011/02/16/6188515.aspx

2.3 Study Hard




如何写makefile文件电子书



http://pipi.googlecode.com/files/How%20to%20Write%20makefile.pdf

运行截图:



Makefile 文件是非常强大滴,继续学习中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: