VTK提供了对安卓的CMAKE编译支持,其介绍文件在源代码根目录下的 “/cmake/android.toolchain.cmake”。

对Wndows的编译自持描述为:

注意:但是此种编译只能提供对MinGW的支持,不能提供安卓支持!

#  Usage Windows:
# You need native port of make to build your project.
# Android NDK r7 (and newer) already has make.exe on board.
# For older NDK you have to install it separately.
# For example, this one: http://gnuwin32.sourceforge.net/packages/make.htm
#
# $ SET ANDROID_NDK=C:\absolute\path\to\the\android-ndk
$ SET ANDROID_NDK=C:\QT\android-ndk-r10
# $ mkdir build && cd build
# $ cmake.exe -G"MinGW Makefiles"
# -DCMAKE_TOOLCHAIN_FILE=path\to\the\android.toolchain.cmake
# -DCMAKE_MAKE_PROGRAM="%ANDROID_NDK%\prebuilt\windows\bin\make.exe" ..
# $ cmake.exe --build .
#
#


一、使用默认配置选项,使用MinGW编译

1、确认系统中已经安装   MinGW,选择编译器MinGW MakeFiles ,确认

2、确认后选择安卓支持

一般情况下会Generate 解决方案成功!

3. 进入MinGW文件夹,打开 bat 文件,运行

cd 到生成方案文件夹,运行make命令,即可开始漫长的编译过程,makefile文件里面已经写入自动安装的脚本........................

二、使用NDK--Unix Makefile进行编译

ndk-build 其实就是对GNU Make的封装,它的目的是调用正确的NDK编译脚本,它等价于 make -f $NDK/build/core/build-local.mk [参数]

此种方式必须安装cygwin64,安装完成后重启;

在Configure时选择Unix Makefiles

Configure过程:比较漫长.....................

选择VTK-安卓支持,和NDK文件夹

注意:图中的NDK目录要修改一下,把Windows风格的路径修改为Unix风格的路径

/cygdrive/c/QT/android-ndk-r10

Configuring done

Generating done

运行命令行:

切换到目标目录下:

cd C:\Tools\VTK6.2Android2

make

静静 等待编译完成.............................

依然不能生成对安卓支持的库.

三、启用对安卓的移动支持

在VTK的源代码根目录下,CMakeLists.txt文件里面,修改

option(VTK_ANDROID_BUILD "Build VTK for Android" OFF)

option(VTK_ANDROID_BUILD "Build VTK for Android" ON)

再次配置Cmake,进行编译文件...

四、使用VES-VTK on OpenGL ES

参考链接:http://www.vtk.org/Wiki/VES/Download_And_Build_Instructions#Android_instructions

1.下载Git,安装后直接添加对

git://vtk.org/VES.git

的克隆,到本地文件夹;

2.下载完成后,再次使用Cmake配置编译器,配置——生成;

使用Unix MakeFile 进入下载目录进行编译,make

在make的过程中需要下载Eigen和VTK6.0,容易链接不到VTK.org;建议把下载好的VTK文件移到download文件夹里

3.make.....

结果:

最终还是未能成功,一直在试错中.....

使用NDK编译VTK的更多相关文章

  1. 使用ndk编译c可执行程序

    1.创建工程目录  在ubuntu系统下搭建好ndk编译环境,创建test目录 mkdir test 在test目录下创建jni目录 cd test mkdir jni 2.编写源代码 vim hel ...

  2. Android APP使用NDK编译后的ffmpeg库出现undefined reference to 'posix_memalign'错误

    在android程序中使用NDK编译后的ffmpeg库的时候出现了如下错误: jni/libs/libavutil.a(mem.o): in function av_malloc:libavutil/ ...

  3. Linux下NDK编译FFMPEG包含neon参数

    FFMPEG编译成Android库已经有很多案例了,编译优化neon的也很多,以下是我通过实践成功的案例,这里主要讲编译的配置文件,其他设置可结合Linux下使用NDK编译FFMPEG(libstag ...

  4. Linux下使用NDK编译FFMPEG(libstagefright)

    这个月要负责一个项目,使用FFMPEG渲染视频,主要是Android端的,由于性能要求,要使用硬解码,但网上大多数教程都是没有libstagefright的,所以个人觉得,生成的so库文件也是没有开启 ...

  5. Android Studio 中关于NDK编译及jni header生成的问题

    之前由于工作原因使用grails这个基于groovy的框架做项目,对groovy感觉很好. 基于groovy的gradle构建系统对我而言自然也是好的没得说. Android Studio 正式版出来 ...

  6. [原]如何用Android NDK编译FFmpeg

    我们知道在Ubuntu下直接编译FFmpeg是很简单的,主要是先执行./configure,接着执行make命令来编译,完了紧接着执行make install执行安装.那么如何使用Android的ND ...

  7. ffmpeg2.2在ubuntu下使用NDK编译——并在android工程下测试使用

    作者:wainiwann 出处:http://www.cnblogs.com/wainiwann/ 本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则 ...

  8. android开发 NDK 编译和使用静态库、动态库 (转)

    在eclipse工程目录下建立一个jni的文件夹 在jni文件夹中建立Android.mk和Application.mk文件 Android.mk文件: Android提供的一种makefile文件, ...

  9. Windows下配置cygwin和ndk编译环境

    cygwin安装 正确的安装步骤其实很简单:1. 下载setup-86_64.exe 2. 直接从网上下载安装,选择包时,顶部选择“default”不变 3. 搜索make,勾选make,cmake, ...

随机推荐

  1. Sencha Touch 2中如何动态添加button

    原理很简单无非就是在一个容器上面选中id,用容器的add方法将button循环加入. 现在我们来试一下 1.先定义一个Container组件用,以后在里面添加button ? 1 2 xtype:'c ...

  2. TOC 1. TODO springboot优雅关机

    TODO start and stop as a linux service web container(tomcat ,undertow) gracefully shutdown gracefull ...

  3. TASKLIST 显示计算机上的所有进程

    Tasklist"是 winxp/win2003/vista/win7/win8下的命令,用来显示运行在本地或远程计算机上的所有进程,带有多个执行参数. 使用格式 tasklist [/s ...

  4. Linux终止进程的工具kill/killall/pkill/xkill/skill用法区别(转)

    一. 终止进程的工具kill .killall.pkill.xkill 终止一个进程或终止一个正在运行的程序,一般是通过kill .killall.pkill.xkill等进行.比如一个程序已经死掉, ...

  5. leetcode第一刷_Convert Sorted Array to Binary Search Tree

    晕.竟然另一样的一道题.换成sorted array的话.找到中间位置更加方便了. TreeNode *sortTree(vector<int> &num, int start, ...

  6. Kafka编程实例

    编程 Producer是一个应用程序.它创建消息并发送它们到Kafka broker中.这些producer在本质上是不同.比方.前端应用程序.后端服务.代理服务.适配器对于潜在的系统,Hadoop对 ...

  7. linux驱动注册汇总

    --- 01)TP file_operations: { 1. static struct file_operations tpd_fops = { // .owner = THIS_MODULE, ...

  8. bzoj5085: 最大

    暴力是4方的,开始我只3方(扫描的时候更新当前最大) 二分+暴力可以做到m^2logMAX 二分答案,暴力枚举可行的两个位置形成一段,对于段,最多只会有m^2种情况. #include<cstd ...

  9. boost库生成文件命名和编译

    生成文件命名规则:boost中有许多库,有的库需要编译.而有的库不需要编译,只需包含头文件就可以使用.编译生成的文件名字普遍较长,同一个库根据编译链接选项不同,又可以生成多个不同名字的文件.生成的文件 ...

  10. NPM 国内镜像使用方法

    npm官方站点: http://www.npmjs.org/ 本文使用国内镜像地址: http://www.cnpmjs.org/ 搜索镜像:https://npm.taobao.org/ 具体方法: ...