使用交叉编译工具实现andorid平台下的jni开发,记录codeblock配置过程,方便后续参考。

1 工具版本信息

NDK r8b

Code::Blocks 10.05

2 配置过程

使用codeblock进行jni开发不需要编写makefile文件,而是使用图像界面的方式去设置android平台,API版本以及编译器等信息。

具体过程如下:

codeblok—>Settings—>Compile and debugger—>Global complier settings在selected Complier中选择“GNU RAM GCCCompiler”选择“copy”按钮,输入新的名称,建议使用NDK版本号进行命名,并按下“Set as default”。

在Compiler settings选项卡中,在defines中可以添加自定义变量,在后续的路径配置过程中使用。

设置需要链接的公共库以及链接选项

-nostdlib -Bdynamic
-Wl,-dynamic-linker,/system/bin/linker
-Wl,--gc-sections
-Wl,-z,nocopyreloc
-ldl

设置头文件查找路径

设置链接库路径

设置NDK编译工具路径

设置调试工具路径

至此,所有公共配置设置完毕,点击“OK”进行保存。

下面,针对具体的编译库配置。

在ManagerMent视图窗口中,选中需要配置的工程,在菜单“Project”—>”Build options”打开设置对话框。

首先选择我们前面配置好的编译器:

编译选项设置

链接选项设置:

依赖库的头文件查找路径设置:

依赖自定义库文件查找路径:

其中,相对路径是相对项目工程文件路径“*.cbp”而言。

自定义编译设置,在编译链接过程中,可以使用自定义变量形式。具体引用方式为$(varname)。

在Project—>Properties中的“Build Targets”配置编译的目标信息。例如:编译目标类型,文件名等。

配置完毕后,执行Build—>Rebuild对项目进行编译。

附录:

NDK-r10 Search-Compiler路径信息:
D:\program\android\ndk-r10b\platforms\android-9\arch-arm\usr\include
D:\program\android\ndk-r10b\sources\cxx-stl\gnu-libstdc++\4.6\include
D:\program\android\ndk-r10b\sources\cxx-stl\gnu-libstdc++\4.6\libs\armeabi\include
D:\program\android\ndk-r10b\toolchains\arm-linux-androideabi-4.6\prebuilt\windows-x86_64
D:\program\android\ndk-r10b\toolchains\arm-linux-androideabi-4.6\prebuilt\windows-x86_64\lib\gcc\arm-linux-androideabi\4.6\include Serach-Linker:
D:\program\android\ndk-r10b\sources\cxx-stl\gnu-libstdc++\4.6\libs\armeabi
D:\program\android\ndk-r10b\platforms\android-9\arch-arm\usr\lib
D:\program\android\ndk-r10b\toolchains\arm-linux-androideabi-4.6\prebuilt\windows-x86_64\lib\gcc\arm-linux-androideabi\4.6 Toolchain executables:
D:\program\android\ndk-r10b\toolchains\arm-linux-androideabi-4.6\prebuilt\windows-x86_64
Addition Paths:
D:\program\android\ndk-r10b\toolchains\arm-linux-androideabi-4.6\prebuilt\windows-x86_64\bin
========================================================================================================================================
NDK-r8 Search-Compiler路径信息:
D:\program\android\ndk-r8b\platforms\android-9\arch-arm\usr\include
D:\program\android\ndk-r8b\sources\cxx-stl\gnu-libstdc++\4.4.3\include
D:\program\android\ndk-r8b\sources\cxx-stl\gnu-libstdc++\4.4.3\libs\armeabi\include
D:\program\android\ndk-r8b\toolchains\arm-linux-androideabi-4.4.3\prebuilt\windows\include
D:\program\android\ndk-r8b\toolchains\arm-linux-androideabi-4.4.3\prebuilt\windows\lib\gcc\arm-linux-androideabi\4.4.3\include Serach-Linker:
D:\program\android\ndk-r8b\sources\cxx-stl\gnu-libstdc++\4.4.3\libs\armeabi
D:\program\android\ndk-r8b\platforms\android-9\arch-arm\usr\lib
D:\program\android\ndk-r8b\toolchains\arm-linux-androideabi-4.4.3\prebuilt\windows\lib\gcc\arm-linux-androideabi\4.4.3 Toolchain executables:
D:\program\android\ndk-r8b\toolchains\arm-linux-androideabi-4.4.3\prebuilt\windows Addition Paths:
D:\program\android\ndk-r8b\toolchains\arm-linux-androideabi-4.4.3\prebuilt\windows\arm-linux-androideabi\bin

使用codeblock实现JNI开发-2016.01.31的更多相关文章

  1. Android游戏开发实践(1)之NDK与JNI开发01

    Android游戏开发实践(1)之NDK与JNI开发01 NDK是Native Developement Kit的缩写,顾名思义,NDK是Google提供的一套原生Java代码与本地C/C++代码&q ...

  2. Android游戏开发实践(1)之NDK与JNI开发02

    Android游戏开发实践(1)之NDK与JNI开发02 承接上篇Android游戏开发实践(1)之NDK与JNI开发01分享完JNI的基础和简要开发流程之后,再来分享下在Android环境下的JNI ...

  3. [官方软件] Easy Sysprep v4.3.29.602 【系统封装部署利器】(2016.01.22)--skyfree大神

    [官方软件] Easy Sysprep v4.3.29.602 [系统封装部署利器](2016.01.22) Skyfree 发表于 2016-1-22 13:55:55 https://www.it ...

  4. JNI开发(2)——开发实战

    JNI开发(1)--概述.环境搭建.必要知识点 JNI开发(2)--开发实战 本篇是重头戏:JNI实战开发.假设你对于 JNI.NDK 还没概念的话 那么观看本篇 也是没有太大难度的 ,哈哈哈哈! ! ...

  5. Android游戏开发实践(1)之NDK与JNI开发03

    Android游戏开发实践(1)之NDK与JNI开发03 前面已经分享了两篇有关Android平台NDK与JNI开发相关的内容.以下列举前面两篇的链接地址,感兴趣的可以再回顾下.那么,这篇继续这个小专 ...

  6. Android快乐贪吃蛇游戏实战项目开发教程-01项目概述与目录

    一.项目简介 贪吃蛇是一个很经典的游戏,也很适合用来学习.本教程将和大家一起做一个Android版的贪吃蛇游戏. 我已经将做好的案例上传到了应用宝,无病毒.无广告,大家可以放心下载下来把玩一下.应用宝 ...

  7. 如何优雅的使用vue+vux开发app -01

    如何优雅的使用vue+vux开发app -01 很明显下面是个错误的示范: <!DOCTYPE html> <html> <head> <title>v ...

  8. Android Studio1.4.x JNI开发基础 - 简单实例

    接上一篇,搭建好基于Android Studio的环境之后,编写native代码相对来说也比较简单了.在Android上编写Native代码和在Linux编写C/C++代码还是有区别,Native代码 ...

  9. Android Studio1.4.x JNI开发基础-基本环境配置

    从Eclipse时代到Android Studio普及,开发工具越来越好用.早些时候还需要安装Cygwin工具,从Android Studio1.3以后,在Android 环境开发JNI程序搭建开发环 ...

随机推荐

  1. freemarker解析模板报错问题

    在确定模板文件代码无误的情况下,导致报错的原因大概有以下原因: 模板文件编码改变了(比如eclipse中的项目部署到tomcat下,而忘记设置tomcat编码就会导致读取模板文件编码不正确,导致程序解 ...

  2. CE_现金账户转账汇入汇出交易(案例)(未完成)

    2014-07-15 BaoXinjian 一.摘要 二.案例   通过 Oracle Payments 结算事务处理 通过付款模板 事物处理子类型 已验证 -> 正在结算中 ->

  3. OAF_EO系列4 - Create详解和实现(案例)

    2014-06-02 Created By BaoXinjian

  4. js复习(二)

    一.window.document对象(一)找元素 docunment.getElementById("id"):根据id找,最多找一个: docunment.getElement ...

  5. ScrollView--嵌套GridView的解决办法

    前些日子在开发中用到了需要ScrollView嵌套GridView的情况,由于这两款控件都自带滚动条,当他们碰到一起的时候便会出问题,即GridView会显示不全. 解决办法,自定义一个GridVie ...

  6. 图片--Android加载图片导致内存溢出(Out of Memory异常)

    Android在加载大背景图或者大量图片时,经常导致内存溢出(Out of Memory  Error),本文根据我处理这些问题的经历及其它开发者的经验,整理解决方案如下(部分代码及文字出处无法考证) ...

  7. 谈Objective-C Block的实现

    来源:http://blog.devtang.com/blog/2013/07/28/a-look-inside-blocks/ 前言 这里有关于block的5道测试题,建议你阅读本文之前先做一下测试 ...

  8. 在windows下使用linux命令

    <转:http://www.cnblogs.com/adgnat/archive/2011/07/16/2108098.html> 使用过linxu的伙计估计都会喜欢上linux各种各样强 ...

  9. 在java中使用正则表达式注意的地方

    1. 对^与$的理解 通常我们会通过类似Matcher matcher = Pattern.compile(regex).matcher(string);的代码去拿到一个Matcher对象.这种情况下 ...

  10. HTMLParser使用详解(3)- 通过Filter访问内容

    HTMLParser遍历了网页的内容以后,以树(森林)结构保存了结果.HTMLParser访问结果内容的方法有两种.使用Filter和使用Visitor. (一)Filter类顾名思义,Filter就 ...