Windows SublimeText内使用NDK编译Android so(不用cygwin)
測试环境:
sublime text version 2.0.2, build 2221 和 sublime text stable channel, build 3065 (version3)
Win7 64位
android-ndk-r10c windows x86_64
步骤:
1.设置好ndk环境变量
假如把ndk压缩包解压到D:\android-ndk-r10c,则
控制面板 -> 系统 -> 高级系统设置 -> 高级 -> 环境变量 -> 选中 系统变量里的Path,点击 编辑 button -> 变量值末尾增加:
;D:\android-ndk-r10c
注意多个值之间有分号分隔。
一路按确定。
2.建好sublimeproject
最简单的方法是打开代码的根文件夹,然后点击菜单Project -> Save Project As... -> 起个名字保存在代码的根文件夹(保存位置是随意的,后面步骤中的路径对应改变即可)。
3.为project增加build_systems
sublime菜单 Project -> Edit Project -> 编辑文件并保存。编辑成这样:
{
"folders":
[
{
"follow_symlinks": true,
"path": "."
}
],
"build_systems":
[
{
"name": "ndk-build-subl2",
"cmd": "build.bat"
},
{
"name": "ndk-build",
"shell_cmd": "ndk-build -j5",
"working_dir": "${project_path}/android_project"
}
]
}
sublime text 2和3的情况不同,build_systems里有两个设置,依据你使用的版本号,保留当中一个即可。
当中,name为ndk-build的是sublime text 3用的,能够看到shell_cmd就是调用ndk-build,working_dir是设置命令行的初始路径,可填入androidproject的路径,当中${project_path}是sublime text的保留变量,指代此sublime textproject文件的文件夹(注意,sublime textproject路径和androidproject路径是两个概念,别混淆了)。
name为ndk-build-subl2是sublime text 2用的,我试了非常多遍都无法直接调用ndk-build,所以是先调用同文件夹下的build.bat脚本,此脚本的内容为:
cd android_project
ndk-build -j5
4.设置Build System
Sublime菜单 Tools -> Build System -> 选择 ndk-build 或 ndk-build-subl2。这里的新选项是读取了上一步所做的设置才会出现的。
到此就ok了,在菜单中选择Build或Ctrl + B就会编译了,sublime text自己主动会弹出窗体显示build的结果。
踩了几个坑才总结出来的,假设遇到问题欢迎留言交流。
PS:要在linux的sublimetext3编译so,改动"shell_cmd"为". ~/.bashrc;ndk-build -j5"就能够了,.bashrc要export ndk路径
转载请注明出处:http://blog.csdn.net/hursing
Windows SublimeText内使用NDK编译Android so(不用cygwin)的更多相关文章
- protobuf使用NDK编译Android的静态库(工作记录)
1.protobuf 编译过程 前提: 确保自己电脑上已经安装了cygwin + ndk, 并且NDK能够编译hello-jni成功 1.1 把protobuf 压缩包解压到protobuf文件夹下 ...
- macos下命令行通过ndk编译android下可以执行的ELF程序(并验证opencl的调用)
源码如下,实现把一个JPG保存成灰度图格式的BMP 1 //jpg2bmp.cpp 2 #include <stdio.h> 3 #include <inttypes.h> 4 ...
- ndk编译android的lame库
1.lame c库: https://github.com/intervigilium/liblame 下载后解压,进入目录,terminal里运行ndk-build即可 2.lame android ...
- 浅谈独立使用NDK编译库文件(Android)
阅读前准备 这是一篇相对入门的文章.文中会涉及到少许NDK的知识,但个人认为对初学者来说都相对比较实用,因为都是在平时项目中遇到的(目前自己也是初学者).一些其他高深的技术不再本文探讨范围之内(因为我 ...
- ndk 编译 c++ 兼容性问题汇总整理
转自:http://blog.csdn.net/wenrenwang/article/details/12003671 1.__int64找不到符号 采用int64_t来代替: #if defined ...
- 在Windows下使用nmake+Makefile+编译ZThread库(附例子)
----------2015/01/09/23:21更新----------------------------------- 关于保留DEBUG信息的一个简单例子,见这篇随笔 ----------2 ...
- ffmpeg2.2在ubuntu下使用NDK编译——并在android工程下测试使用
作者:wainiwann 出处:http://www.cnblogs.com/wainiwann/ 本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则 ...
- windows系统上安装与使用Android NDK r5 (转)
windows系统上安装与使用Android NDK r5 很早就听说了android的NDK应用,只是一直没有时间去研究,今天花了点时间在windows平台搭建了NDK环境,并成功运行了第一个简单 ...
- [原]如何用Android NDK编译FFmpeg
我们知道在Ubuntu下直接编译FFmpeg是很简单的,主要是先执行./configure,接着执行make命令来编译,完了紧接着执行make install执行安装.那么如何使用Android的ND ...
随机推荐
- 每日技术总结:jquery datetimepicker,微博QQ好友QQ空间微信等分享接口
前言: 1.jquery datetimepicker 今天遇到一个日期控件格式的问题,默认选中显示的并不是设定的值,而是当天的日期.于是去查了一遍文档. 参考文章:jquery datetimepi ...
- UVA 11090 - Going in Cycle!! SPFA
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...
- VC和MATLAB混合开发经验总结
作者:朱金灿 来源:http://blog.csdn.net/clever101 前期准备: 1.请确认机器中已经安装Matlab主程序或(MCR)MATLAB Compiler Runtime(具体 ...
- lv resize
# lvreduce -L -400G /dev/vg_atalinux001/lv_home # resize2fs /dev/vg_atalinux001/lv_home resize2fs ...
- mybatis逆向工程随笔
mybatis框架简介和简单原理: mybatis本来是apache的一个开源的项目,后来迁移到了google,并且改名为mybatis. mybatis框架优点: 1.mybatis是最简单的持久化 ...
- WebService--概述、JDk实现、AJAX调用
一.Webservice概述 W3C组织对其的定义是,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计. Webservice服务通常被定义为一组模块化的API,它们可以通过网络进行调用,来 ...
- Wampserver 2.5 多网站配置方法
写在开头:本文适用于wampserver2.5版本号,和wamp的老版本号配置有语法上的差别,笔者正是由于被老版本号的配置办法给整迷糊了所以才总结了一篇针对2.5版本号的配置方法,假设您还停留在1.x ...
- 使用纯CSS3实现一个3D旋转的书本
有一些前沿的电商站点已经開始使用3D模型来展示商品并支持在线定制,而当中图书的展示是最为简单的一种, 无需复杂的建模过程,使用图片和CSS3的一些变换就可以实现更好的展示效果,简洁而有用. 书本的3D ...
- WordPress通过插件发送邮件
原文发表自我的个人站点,欢迎大家訪问~转载请保留本段,或注明原文链接:http://www.hainter.com/wordpress-send-email-via-plugins WordPress ...
- hash_map原理及C++实现
一.数据结构:hash_map原理 hash_map基于hash table(哈希表).哈希表最大的长处,就是把数据的存储和查找消耗的时间大大减少,差点儿能够看成是常数时间:而代价不过消耗比較多的内 ...