一个使用sbt编译的JNI C++ 的模板】的更多相关文章

假设你须要在Scala或是Java中调用C或C++函数库,就须要使用JNI. 这里就涉及到编译scala ,java 和C(C++)代码,在这里给出一个程序的框架,我们使用sbt 缺省的代码文件夹 文件文件夹src->main--–>java--–>scala--–>c 当中文件夹c存放C++代码 ,java文件夹放置Java代码, scala文件夹放置Scala代码 项目组用来编译的相关文件为build.sbt 和Makefile (它编译放置在c文件夹下的C++文件,注意仅仅能…
[Android]Eclipse自动编译NDK/JNI的三种方法 SkySeraph Sep. 18th  2014 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph个人站点:www.skyseraph.com 一.Eclipse关联cygwin 1. 工程->右击选择Properties->选择Builders,在Builders中选择New创建一个Program 2. 参数配置 二.Eclipse关联ndk-build(自建Builder方法)  1…
问题导读: 1.什么是sbt? 2.sbt项目环境如何建立? 3.如何使用sbt编译打包scala? [sbt介绍 sbt是一个代码编译工具,是scala界的mvn,可以编译scala,java等,需要java1.6以上. sbt项目环境建立 sbt编译需要固定的目录格式,并且需要联网,sbt会将依赖的jar包下载到用户home的.ivy2下面,目录结构如下: |--build.sbt |--lib |--project |--src |   |--main |   |    |--scala…
前言 最近为了解决Spark2.1的Bug,对Spark的源码做了不少修改,需要对修改的代码做编译测试,如果编译整个Spark项目快的话,也得半小时左右,所以基本上是改了哪个子项目就单独对那个项目编译打包. Spark官方已经给出了如何使用mvn单独编译子项目的方法:http://spark.apache.org/docs/latest/building-spark.html#building-submodules-individually 使用mvn单独编译子项目是节约了不少时间.但是频繁的改…
sbt编译spark程序提示value toDF is not a member of Seq() 前提 使用Scala编写的Spark程序,在sbt编译打包的时候提示value toDF is not a member of Seq(),出问题的代码如下: val urlDS = Seq(STU(age, count)).toDS() 其中STU是一个定义的case class,定义如下: case class STU(age: Int, count: Int) 查找原因 开始以为是toDS(…
前些天用maven编译打包spark,搞得焦头烂额的,各种错误,层出不穷,想想也是醉了,于是乎,换种方式,使用sbt编译,看看人品如何! 首先,从官网spark官网下载spark源码包,解压出来.我这边使用的是1.4.0版本. 然后,我们需要把sbt配置好,配置很简单,无非就是SBT_HOME什么的,大家可以参考官网给出的安装配置手册. 在window的命令行模式下进入刚刚解压的spark源码目录下,我们根据官网提示的命令输入: sbt -Pyarn -Phadoop-2.3 assembly…
问题导读: 1.什么是sbt? 2.sbt项目环境如何建立? 3.如何使用sbt编译打包scala? sbt介绍 sbt是一个代码编译工具,是scala界的mvn,可以编译scala,java等,需要java1.6以上. sbt项目环境建立 sbt编译需要固定的目录格式,并且需要联网,sbt会将依赖的jar包下载到用户home的.ivy2下面,目录结构如下: |--build.sbt |--lib |--project |--src | |--main | | |--scala | |--tes…
[Android]Eclipse自己主动编译NDK/JNI的三种方法 SkySeraph Sep. 18th  2014 Email:skyseraph00@163.com 一.Eclipse关联cygwin 1. project->右击选择Properties->选择Builders,在Builders中选择New创建一个Program 2. 參数配置 二.Eclipse关联ndk-build(自建Builder方法)  1. Project->Properties->Build…
fesh个人实践,欢迎经验交流!本文Blog地址:http://www.cnblogs.com/fesh/p/3775343.html 本文编译方法所支持的hadoop环境是Hadoop-2.2.0,YARN是2.2.0,JAVA版本为1.8.0_11,操作系统Ubuntu14.04  Spark1.0.0 源码下载地址: http://mirror.bit.edu.cn/apache/spark/spark-1.0.0/spark-1.0.0.tgz  Spark1.0.1 源码下载地址:ht…
为了测试一个NGINX变量,将NGINX加了一个编译模板echo-nginx-module-0.56. 参照如下文件 1,先看以前NGINX有哪些东东. sbin/nginx -Vnginx version: nginx/1.6.0built by gcc 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) TLS SNI support enabledconfigure arguments: --prefix=/XXXX/lnmp/nginx --user=ngin…
作者:戚明峰 最近接触了shadowsocks的Android客户端项目源码(https://github.com/shadowsocks/shadowsocks-android),刚好这个项目是使用Scala开发的.至于为什么使用Scala开发Android项目,大概原因如下: Android 开发一直有两个无法回避的问题:基于 JVM 的设计使得系统的性能受到拖累:Java 冗繁的语法令人绝望.Scala 作为一门 state-of-the-art 的编程语言,兼具面向对象以及函数式语言的特…
一个APK反编译利器Apktool   APK 本地化 [http://www.andmoto.com/viewthread.php?tid=3873]   说起APK的汉化,目前大部分教程都是让用Hex Workshop或者Android ResEdit来做.但是实际操作后,就会发现:1.Hex Workshop操作繁琐,经常出现搜不到想要修改的字符的情况:2.Android ResEdit简单用用可以,修改稍微复杂一点就会出现整条整条丢字符串的情况:并且新内容不能比原内容长——谁能保证我的本…
最近有同事在搞编译环境迁移,碰上一个问题让我帮他看一下.    他建了一个新目录,然后把现在的代码拷过去,编译的时候发现有一个文件编译不了一执行就出现core,不知道啥情况.    我进到他的编译环境,执行make,果然出现了core文件.    使用file命令分析,发现是proc程序的core.于是使用gdb,想进去看看在哪里core了.    但打开后使用where命令,发现输出的函数名称全是问号.根据经验,这种一般是由于内存越界导致函数堆栈信息被破坏.    于是想试试在gdb里面执行程…
这几天有django和python做了一个多用户博客系统(可选择模板) 没完成,先分享下 断断续续2周时间吧,用django做了一个多用户博客系统,现在还没有做完,做分享下,以后等完善了再慢慢说 做的时候房展了博客园的部分功能,百度空间和新浪博客等,实现主要功能有 用户注册.登录,博客的发表.修改,文章分类的管理. 在文章发表里面用的是百度的ueditor,目前仅仅是用它来编辑,没有图片的上传等其他高级功能 在文章分类里面,要在数据库里面有一条记录 id为1,名称为未分类 用来做为所有用户的未分…
一个简洁.好用的Pytorch训练模板 代码地址:https://github.com/KinglittleQ/Pytorch-Template 怎么使用 1) 更改template.py 替换 __init__方法中的内容,增添自己的模型.优化器.评估器等等. class Model(): def __init__(self, args): self.writer = tX.SummaryWriter(log_dir=None, comment='') self.train_logger =…
网上资料太杂乱,搞了大半天都还是没搞懂怎么系统的调用NDK.最后干脆放弃了Win改用Ubuntu编译JNI,虽然编译环境简单了,但是资料却少了不少.几乎没有一篇完整的文章.我想或许是能在Ubuntu下写NDK的都是高手吧,不屑与写入门的文章. 废话少说 第一步:保证make 和 gcc可用 在shell中输入make -v,不报错就是对的.(可参考http://wenku.baidu.com/view/d87586c24028915f804dc24a.html.) 在shell中输入gcc -v…
一.Eclipse关联cygwin 1. 工程->右击选择Properties->选择Builders,在Builders中选择New创建一个Program 2. 参数配置 二.Eclipse关联ndk-build(自建Builder方法) 1. Project->Properties->Builders->New,新建一个Builder 2. 参数配置 2.1 Main ①Name:NDK_Builder ②Location为ndk-build.cmd的路径,可以如图所示绝…
第一步:保证make和gcc可用 在shell中输入make-v.不报错就是对的.(可參考http://wenku.baidu.com/view/d87586c24028915f804dc24a.html.) 在shell中输入gcc-v,不报错就是对的. 第二步:安装NDK 下载NDK后.环境变量设置: 将android-ndk的路劲加到环境变量PATH中:sudogedit /etc/environment 然后再让这个更改的环境变量马上生效:source /etc/environment…
http://blog.csdn.net/gengyichao/article/details/6544266 一 以下是C程序一般的编译过程: 从图中看到: 将编写的一个c程序(源代码 )转换成可以在硬件上运行的程序(可执行代码 ),需要进行编译阶段  和链接这两个阶段. 其中, 1.  编译阶段先通过"编译器 "把一个 .c / .cpp 源代码 编译成 .s的汇编代码 :再经过"汇编器 " 把这 个.s的汇编代码汇编成 .o 的 目标代码 2.  "…
之前由于工作原因使用grails这个基于groovy的框架做项目,对groovy感觉很好. 基于groovy的gradle构建系统对我而言自然也是好的没得说. Android Studio 正式版出来没多久,不完善的地方自然很多,对于从eclipse转来的伙伴们而言,不了解groovy的话对于gradle android的dsl自然是一头雾水,其实groovy蛮好,花点时间学学,目前已经支持android开发了. 最近干的活设计到NDK开发,在编译时遇到一些不好搞定的问题. gradle 的ND…
在学习compass的过程中, 根绝文档说明,如果使用compass create myObject命令会创建一个标准的Compass项目目录结构,如下图: 此时如果使用compass compile命令,会将sass目录中所有后缀名为xxx.scss的文件编译到css目录中,保存为xxx.css,那么要是我们自己的项目目录结构改变或者和这个不一样的结构呢? 不用担心,其实这里执行编译的命令全部都是基于config.rb这个配置文件的,接下来我们大致看一下这个文件: 红框部分就是我们需要配置的c…
如图所示:如果编译后一个java文件中类有内部类的话,就会编译产生多个类…
技术经理说,可以用Cmake当中的add_custom_command,add_custom_target命令来使用. 我初次研究了下,add_custom_command应该用官方文档中说明的第二种形式: The second signature adds a custom command to a target such as a library or executable. This is useful for performing an operation before or after…
在编译linux内核时,遇到了一个比较诡异的问题.具体log如下: Can't locate strict.pm in @INC (you may need to install the strict module) (@INC contains: //usr/lib/perl/site_perl/5.22.1 //usr/lib/perl/vendor_perl/5.22.1 //usr/lib/perl/5.22.1 /tmp/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx…
有时候,自己下载的或者拷贝过来的JNI项目出现莫名错误,通常是找不到头文件,可能解决方案如下: Removing the C nature: The only way I could find to reliably removed the C nature from the project was by hand editing Eclipse's .project file for the project. Close the Eclipse project (e.g. by quittin…
在A机器上ant编译后,复制到B机器,在B机器上编译会出错. 原因是载入一些文件时出错,因为路径还是A机器上的路径. 经过与git上的源代码对比,发现多了一个build文件夹,这可能是ant生成的目录,将此目录删除后,再次ant,重新编译成功.…
                                            Live555研究之中的一个 源代码编译 Live555 是一个为流媒体提供解决方式的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP.RTSP.SIP等的支持.Live555实现了对多种音视频编码格式的音视频数据的流化.接收和处理等支持,包含MPEG.H.263+.DV.JPEG视频和多种音频编码.同一时候因为良好的设计.Live555很easy扩展对其它格式的支持. 眼下,Live5…
在Ubuntu 16中编译开启NEON优化的Opencv时,遇到libpng编译是使用汇编代码的错误,完整错误见文章末尾.通过查询发现解决方案是安装跨平台编译器,安装代码如下: sudo apt-get install gcc-arm-linux-gnueabi sudo apt-get install gcc-arm-linux-gnueabihf sudo apt-get install g++-arm-linux-gnueabihf 在参考1中说的是用OCV源码中的toolchain_fi…
进入Android\Sdk\ndk-bundle\platforms\android-xx\arch-arm\usr目录查看发现与Google官方下载的NDK相比缺少include目录 此目录下包含各种头文件,下载后完整替换原ndk-bundle下得platforms文件夹重新编译即可.     这个ndk-bundle是用AS上的SDK Manager下载安装的,试了好几次,下载完毕后都没有include目录,但若直接在Google官方手动下载NDK的压缩包就有include目录,不知道为什么…
tex编译成pdf通常要经过以下步骤:tex-->dvi-->ps-->pdf.如果修改了tex文件想看一下效果,就要把命令重新敲一遍.虽然就几行命令,反复敲还是很烦人的.最直接的办法就是把命令写成shell脚本,但是与其写shell就不如写个Makefile. 假设正在编辑的tex文件名为annualplan.tex,Makefile就可以写成下面的样子.其中,VIEWER变量可以改为本地的pdf查看软件.make成功后,可以运行make view查看生成的pdf文件. BASE =…