尝试在Android下编译纯C的静态程序,执行gcc -v -static -o sayhi sayhi.c后有3条重要的命令

ccl -quiet -v -iprefix /home/carmenloklok/android-ndk-r8/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/arm-linux-androideabi/bin/../lib/gcc/arm-linux-androideabi/4.4.3/ sayhi.c -mbionic -fpic -quiet -dumpbase sayhi.c -march=armv5te -mfloat-abi=soft -mfpu=vfp -auxbase sayhi -version -o /tmp/cc1JRQYL.s

as -v -march=armv5te -mfloat-abi=soft -mfpu=vfp -meabi=5 -o /tmp/ccqjmzvz.o /tmp/cc1JRQYL.s

ld --sysroot=/home/ahsieh/ndk-release/ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/sysroot -Bstatic -dynamic-linker /system/bin/linker -X -m armelf_linux_eabi -o sayhi crtbegin_static.o /tmp/ccqjmzvz.o --start-group -lgcc -lc --end-group crtend_android.o

我一开始没有执行gcc -v -o sayhi sayhi.c来看.没有在ld的参数里加上 -Bstatic 和 --start-group --end-group .于是会出现 undefined reference to raise .具体的原因没有查出.好像是因为eabi的缘故.一段时间后查一下具体的原因,以及--start-group --end-group的作用.

更多相关文章

  1. android socket通信 模拟器可以 真机不行 是防火墙的原因
  2. 【Android】 Activity Lifecycle
  3. Android实现创建或升级数据库时执行语句
  4. INSTALL_FAILED_TEST_ONLY的原因
  5. 项目运行报错Error: Static interface methods are only support
  6. Android(安卓)ActivityThread(主线程或UI线程)简介
  7. Android中级篇之用JAVA代码执行shell命令
  8. Android开发——AsyncTask的使用以及源码解析
  9. Android: update api

随机推荐

  1. How to get the android resolution
  2. Ubuntu 下android 开发,eclipse不能识别手
  3. android 横屏 竖屏 全屏 当前屏幕宽 高
  4. 【Android】常见异常 —— android.view.
  5. android:layout_weight android:weightSu
  6. Android tree应用框架
  7. Android:自定义toast
  8. Android判断某一应用是否正在运行与判断
  9. Android Material Design 实践(四)--Mate
  10. Android项目build.gradle多渠道&完整版