zoukankan      html  css  js  c++  java
  • 使用codeblock实现JNI开发-2016.01.31

    使用交叉编译工具实现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”。

    image

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

    image

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

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

    image

    设置头文件查找路径

    image

    设置链接库路径

    image

    设置NDK编译工具路径

    image

    设置调试工具路径

    image

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

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

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

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

    image

    编译选项设置

    image

    链接选项设置:

    image

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

    image

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

    image

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

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

    image

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

    image

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

    附录:

    NDK-r10 Search-Compiler路径信息:
    D:programandroid
    dk-r10bplatformsandroid-9arch-armusrinclude
    D:programandroid
    dk-r10bsourcescxx-stlgnu-libstdc++4.6include
    D:programandroid
    dk-r10bsourcescxx-stlgnu-libstdc++4.6libsarmeabiinclude
    D:programandroid
    dk-r10b	oolchainsarm-linux-androideabi-4.6prebuiltwindows-x86_64
    D:programandroid
    dk-r10b	oolchainsarm-linux-androideabi-4.6prebuiltwindows-x86_64libgccarm-linux-androideabi4.6include
    
    Serach-Linker:
    D:programandroid
    dk-r10bsourcescxx-stlgnu-libstdc++4.6libsarmeabi
    D:programandroid
    dk-r10bplatformsandroid-9arch-armusrlib
    D:programandroid
    dk-r10b	oolchainsarm-linux-androideabi-4.6prebuiltwindows-x86_64libgccarm-linux-androideabi4.6
    
    Toolchain executables:
    D:programandroid
    dk-r10b	oolchainsarm-linux-androideabi-4.6prebuiltwindows-x86_64
    Addition Paths:
    D:programandroid
    dk-r10b	oolchainsarm-linux-androideabi-4.6prebuiltwindows-x86_64in
    ========================================================================================================================================
    NDK-r8  Search-Compiler路径信息:
    D:programandroid
    dk-r8bplatformsandroid-9arch-armusrinclude
    D:programandroid
    dk-r8bsourcescxx-stlgnu-libstdc++4.4.3include
    D:programandroid
    dk-r8bsourcescxx-stlgnu-libstdc++4.4.3libsarmeabiinclude
    D:programandroid
    dk-r8b	oolchainsarm-linux-androideabi-4.4.3prebuiltwindowsinclude
    D:programandroid
    dk-r8b	oolchainsarm-linux-androideabi-4.4.3prebuiltwindowslibgccarm-linux-androideabi4.4.3include
    
    Serach-Linker:
    D:programandroid
    dk-r8bsourcescxx-stlgnu-libstdc++4.4.3libsarmeabi
    D:programandroid
    dk-r8bplatformsandroid-9arch-armusrlib
    D:programandroid
    dk-r8b	oolchainsarm-linux-androideabi-4.4.3prebuiltwindowslibgccarm-linux-androideabi4.4.3
    
    Toolchain executables:
    D:programandroid
    dk-r8b	oolchainsarm-linux-androideabi-4.4.3prebuiltwindows
    
    Addition Paths:
    D:programandroid
    dk-r8b	oolchainsarm-linux-androideabi-4.4.3prebuiltwindowsarm-linux-androideabiin
  • 相关阅读:
    目标检测算法的总结(R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD、FNP、ALEXnet、RetianNet、VGG Net-16)
    目标检测评价标准(mAP, 精准度(Precision), 召回率(Recall), 准确率(Accuracy),交除并(IoU))
    JavaScript中继承的多种方式和优缺点
    使用Vue封装暂无数据占位图组件
    Vue组件间通信方式到底有几种
    通俗易懂了解Vue中nextTick的内部实现原理
    从0开始编写webpack插件
    常用的webpack优化方法
    通俗易懂了解Vue内置组件keep-alive内部原理
    原生JS实现集合结构
  • 原文地址:https://www.cnblogs.com/zhouLee/p/5173056.html
Copyright © 2011-2022 走看看