使用NDK编译VTK
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的更多相关文章
- 使用ndk编译c可执行程序
1.创建工程目录 在ubuntu系统下搭建好ndk编译环境,创建test目录 mkdir test 在test目录下创建jni目录 cd test mkdir jni 2.编写源代码 vim hel ...
- Android APP使用NDK编译后的ffmpeg库出现undefined reference to 'posix_memalign'错误
在android程序中使用NDK编译后的ffmpeg库的时候出现了如下错误: jni/libs/libavutil.a(mem.o): in function av_malloc:libavutil/ ...
- Linux下NDK编译FFMPEG包含neon参数
FFMPEG编译成Android库已经有很多案例了,编译优化neon的也很多,以下是我通过实践成功的案例,这里主要讲编译的配置文件,其他设置可结合Linux下使用NDK编译FFMPEG(libstag ...
- Linux下使用NDK编译FFMPEG(libstagefright)
这个月要负责一个项目,使用FFMPEG渲染视频,主要是Android端的,由于性能要求,要使用硬解码,但网上大多数教程都是没有libstagefright的,所以个人觉得,生成的so库文件也是没有开启 ...
- Android Studio 中关于NDK编译及jni header生成的问题
之前由于工作原因使用grails这个基于groovy的框架做项目,对groovy感觉很好. 基于groovy的gradle构建系统对我而言自然也是好的没得说. Android Studio 正式版出来 ...
- [原]如何用Android NDK编译FFmpeg
我们知道在Ubuntu下直接编译FFmpeg是很简单的,主要是先执行./configure,接着执行make命令来编译,完了紧接着执行make install执行安装.那么如何使用Android的ND ...
- ffmpeg2.2在ubuntu下使用NDK编译——并在android工程下测试使用
作者:wainiwann 出处:http://www.cnblogs.com/wainiwann/ 本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则 ...
- android开发 NDK 编译和使用静态库、动态库 (转)
在eclipse工程目录下建立一个jni的文件夹 在jni文件夹中建立Android.mk和Application.mk文件 Android.mk文件: Android提供的一种makefile文件, ...
- Windows下配置cygwin和ndk编译环境
cygwin安装 正确的安装步骤其实很简单:1. 下载setup-86_64.exe 2. 直接从网上下载安装,选择包时,顶部选择“default”不变 3. 搜索make,勾选make,cmake, ...
随机推荐
- [置顶]
Git学习总结(1)——Git使用详细教程
一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以 ...
- GPS时间系统概述和世界时系统
6.1 GPS时间系统概述 时间包含"时刻"和"时间间隔"2个概念.所谓时刻,即发生某一现象的瞬间.在天文学和卫星定位中.与所获数据对应的时刻也称为历元.时间 ...
- Java中处理线程同步
引自:http://blog.csdn.net/aaa1117a8w5s6d/article/details/8295527和http://m.blog.csdn.net/blog/undoner/1 ...
- N天学习一个linux命令之xargs
用途 标准输入流读取参数(空格或者换行符分隔),传递给需要执行的命令 用法 xargs [options] [command [initial-arguments]] 常用选项 --arg-file= ...
- MVC.Net:MVC.Net与WebAPI的IOC实现
我们通过Ninject(http://www.ninject.org/)项目来帮助我们实现MVC.Net与WebAPI项目的IOC实现. 首先我们来看MVC.Net的IOC实现. 1. 通过NuGet ...
- [Jest] Use property matchers in snapshot tests with Jest
With the right process in place, snapshot tests can be a great way to detect unintended changes in a ...
- MFC 小知识总结四
1 PlaySound 播放WAV格式的音乐 This function plays a sound specified by a file name, resource, or system ev ...
- UpMarqueeTextView-模仿淘宝client向上滚动的广告条
UpMarqueeTextView一个简单的向上滚动的相似跑马灯效果,项目中用到的时候是接受到推送过来的消息向上滚动一次.没有做动态的gif效果,所以都是一些纯文字的简单记录. UpMarqueeTe ...
- 深入理解Java和MySQL乱码问题
近期我们使用tomcat和MySQL搭建了一个Java Webserver,并将游戏的server逻辑部署在该server上. 游戏上线后不久,我们发现数据库中出现了大量的乱码.这是个很严重的问题,因 ...
- c# 删除程序占用的文件,强力删除文件,彻底删除文件,解除文件占用
c# 删除程序占用的文件.清理删除文件.彻底删除文件,解除文件占用 文件打开时,以共享读写模式打开 FileStream inputStream = new FileStream(name, File ...