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
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;
}
对此makefile的参数的注释,参看
http://blog.csdn.net/lzh20044178/archive/2011/02/16/6188515.aspx
的
如何写makefile文件电子书
http://pipi.googlecode.com/files/How%20to%20Write%20makefile.pdf
运行截图:
Makefile 文件是非常强大滴,继续学习中。
的开发测试。由于没有在实际的项目中使用NDK开发,不知道下面该弄点什么。想起之前做ril的时候,调试3G模块时,自己写的AT
command的交互程序的编译是放到android源码中利用Android.mk编译的。一直想写make文件独立于android源码编译
C/C++.
那就开始了!交叉编译器就用 NDK自己的。
先贴上makefile。
view plain
copy to clipboard
?
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
?
#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 文件是非常强大滴,继续学习中。
相关文章推荐
- android studio ndk编程(二)——两种方式编译
- Android 使用OpenCV之编译环境非CygWin方式(Win7+Eclipse+ADT+CDT+NDK)
- 详解如何将cocos2dx项目编译到Android平台上的(方式一:Cywin+NDK)
- 编译cBPM-android—CodeBlocks(全局、局部)参数设置—CentOS 7— android-ndk
- (OK) 交叉编译hello.c for android (--sysroot),不使用Android.mk和ndk-build
- AndroidStudio2.2下利用CMake编译方式的NDK opencv开发
- android开发 NDK 编译和使用静态库、动态库
- android soundtouch demo 之NDK编译之路
- 用 eclipse ndk 编译 cocos2d-x for Android
- Android-对抗反编译工具的一种方式
- android studio ndk编译问题
- Android ffmpeg 3.4 JNI移植 NDK编译播放 ffserver 推送的 Rtsp 视频流
- Android安装NDK运行环境无需cygwin自动编译生成SO
- 如何在Android设备中用NDK编译SQLite并且对SQLite进行操作(增删)-How to Compile SQLite for Android using NDK
- Android环境下NDK编译SDL
- Android使用NDK时编译头文件的问题
- 闲来无事,塔建了一下android ndk和简单的编译并安装运行apk
- Android JNI编程和NDK学习 --静态、动态两种方式实现JNI
- Android-NDK开发之基础--Android JNI有关Java类命名方式
- Android初步学习NDK和JNI开发(命令行的方式)