bazel 测试过程
google的bazel如日中天,尽管我觉得make已经很好用,但是还是尝试一下,记录之。
首先,从 https://github.com/bazelbuild/bazel/releases 下载对应的bazel 文件,
我下载的版本是:0.5.2
三个文件:
200 MBbazel-0.5.2-installer-linux-x86_64.sh
104 Bytesbazel-0.5.2-installer-linux-x86_64.sh.sha256
543 Bytesbazel-0.5.2-installer-linux-x86_64.sh.sig
安装:
[root@centos7 tensorflow_test]# chmod +x bazel-0.5.2-installer-linux-x86_64.sh
[root@centos7 tensorflow_test]# ./bazel-0.5.2-installer-linux-x86_64.sh
看到如下打印,安装相当快。
Bazel is now installed!
Make sure you have "/usr/local/bin" in your path. You can also activate bash
completion by adding the following line to your ~/.bashrc:
source /usr/local/lib/bazel/bin/bazel-complete.bash
See http://bazel.build/docs/getting-started.html to start a new project!
下一步,参考help文件:
https://docs.bazel.build/versions/master/tutorial/cpp.html
下载examples文件:
[root@centos7 examples-master]# ls
AUTHORS CONTRIBUTING.md CONTRIBUTORS cpp-tutorial java-maven java-tutorial LICENSE.txt README.md rules tutorial
进入路径:
[root@centos7 stage1]# pwd
/home/caq/code/bazelbuild/examples-master/cpp-tutorial/stage1
编译,看起来也不快,与期望值不相符合啊:
[root@centos7 stage1]# bazel build //main:hello-world
WARNING: ignoring http_proxy in environment.
..................................................................................................................
INFO: Found 1 target...
Target //main:hello-world up-to-date:
bazel-bin/main/hello-world
INFO: Elapsed time: 14.059s, Critical Path: 0.84s
执行:
[root@centos7 stage1]# ./bazel-bin/main/hello-world
Hello world
分析依赖图:
bazel query --nohost_deps --noimplicit_deps 'deps(//main:hello-world)' \
--output graph
WARNING: ignoring http_proxy in environment.
digraph mygraph {
node [shape=box];
"//main:hello-world"
"//main:hello-world" -> "//main:hello-world.cc" 这个说明只依赖于.cc文件
"//main:hello-world.cc"
}
好,进一步的,增加依赖,进入starge2
[root@centos7 main]# pwd
/home/caq/code/bazelbuild/examples-master/cpp-tutorial/stage2/main
[root@centos7 main]# bazel build //main:hello-world
WARNING: ignoring http_proxy in environment.
..................................................................................................................
INFO: Found 1 target...
Target //main:hello-world up-to-date:
bazel-bin/main/hello-world
INFO: Elapsed time: 13.470s, Critical Path: 0.35s
执行bin文件测试:
[root@centos7 stage2]# ./bazel-bin/main/hello-world
Thu Jul 27 19:49:41 2017
发现源文件少了一行代码,补上之后结果:
[root@centos7 stage2]# bazel-bin/main/hello-world
Hello world
Thu Jul 27 19:56:21 2017
[root@centos7 stage2]# bazel-bin/main/hello-world hahaha
Hello hahaha
Thu Jul 27 19:56:25 2017
[root@centos7 stage2]# bazel-bin/main/hello-world caq
Hello caq
Thu Jul 27 19:56:29 2017
那么,多个依赖怎么写?
[root@centos7 stage3]# pwd
/home/caq/code/bazelbuild/examples-master/cpp-tutorial/stage3
[root@centos7 stage3]# bazel build //main:hello-world
WARNING: ignoring http_proxy in environment.
..................................................................................................................
INFO: Found 1 target...
Target //main:hello-world up-to-date:
bazel-bin/main/hello-world
INFO: Elapsed time: 13.557s, Critical Path: 0.35s
[root@centos7 stage3]# bazel-bin/main/hello-world
Hello world
Thu Jul 27 19:59:20 2017
[root@centos7 stage3]# bazel-bin/main/hello-world caq
Hello caq
Thu Jul 27 19:59:23 2017
如果有疑问,可以直接从https://docs.bazel.build/versions/master/tutorial/cpp.html找到答案。
完毕。
bazel 测试过程的更多相关文章
- Google软件构建工具Bazel FAQ
Google软件构建工具Bazel FAQ 本文是我的翻译,原文在这里.欢迎转载,转载请注名本文作者和原始链接 注:如果想了解Bazel的原理,可以看看我之前翻译的Google Blaze原理及使用方 ...
- Google软件构建工具Bazel
转载Google软件构建工具Bazel FAQ 本文是我的翻译,原文在这里.欢迎转载,转载请注名本文作者和原始链接注:如果想了解Bazel的原理,可以看看我之前翻译的Google Blaze原理及使用 ...
- Google软件构建工具Bazel原理及使用方法介绍
近期,Google开源了强大的自动化构建工具Bazel. 正好博主近期在使用china版的Bazel--腾讯自主开发的Blade,所以准备跟大家分享一下Google Bazel这个分布式构建系统的原理 ...
- Qt for Android开发环境搭建及测试过程记录
最近学习了Qt的QML编程技术,感觉相较于以前的QtGUI来说更方便一些,使用QML可以将界面与业务逻辑解耦,便于开发. QML支持跨平台,包括支持Android平台,因此可以使用Qt的QML进行An ...
- Redhat环境下编译安装Google Bazel
Redhat环境下编译安装bazel 作者:Jack47 目前Google Bazel没有提供各个操作系统下的二进制安装包,只提供源代码,需要我们自己编译安装,详情可以见我翻译的中文版Google B ...
- 为什么google bazel构建工具流行不起来
作者Jack47 转载请保留作者和原文出处 之前博主写了系列文章Google软件构建工具Bazel原理及使用方法介绍.最近使用了一段时间后,觉得这个东西不是一种通用的构建工具,很难对接到情况复杂的大的 ...
- 【dom4j xml】使用dom4j处理XML文件--测试过程遇到的问题
首先 关于dom4j的API,有如下: 当然 其中的实体引用有以下: 测试使用环境: 使用Maven搭建web环境,pom.xml文件配置如下: <project xmlns="ht ...
- Google Tensorflow 源码编译(二):Bazel<v0.1.0>
这几天终于把tensorflow安装上了,中间遇到过不少的问题,这里记录下来.供大家想源码安装的参考. 安装环境:POWER8处理器,Docker容器Ubuntu14.04镜像. Build Baze ...
- 针对APP的测试过程和重点关注内容,做以下梳理和总结
转载自金阳光测试:http://blog.sina.com.cn/s/blog_12df1b9e60102vy57.html 1. 首先是测试资源确认及准备 (1)产品需求文档.产品原型图.接口说 ...
随机推荐
- Mybatis学习(一) - 快速入门
MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架. MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装. MyBatis可以使用简单的XML或注解用 ...
- EF之通过不同条件查找去重复
Enumerable.Distinct<TSource> Method(IEnumerable<TSource>, IEqualityComparer<TSource&g ...
- HTTP协议 URL
http(超文本传输协议)是一个基于请求与响应模式的.无状态的.应用层的协议,常基于TCP的连接方式,HTTP1.1版本中给出一种持续连接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的We ...
- CNN压缩:为反向传播添加mask(caffe代码修改)
神经网络压缩的研究近三年十分热门,笔者查阅到相关的两篇博客,博主们非常奉献的提供了源代码,但是发发现在使用gpu训练添加mask的网络上,稍微有些不顺,特此再进行详细说明. 此文是在 基于Caffe的 ...
- qt中setStyleSheet导致的内存泄漏
原始日期: 2017-01-05 19:31 现象:程序运行至某一个界面下,内存出现缓慢持续的占用内存增长 原因:经过排查,确定是在事件派发的槽函数中频繁重复调用setStyleSheet导致的 ...
- 论文笔记 Generative Face Completion
这篇paper将巧妙地将四个loss函数结合在一起,其中每一个loss的功能不同.但这篇paper不够elegant的地方也是loss太多!在本文中,我采用散文的写作方法谈谈自己对这篇paper的理解 ...
- 学编程担心自己英语不好吗?(IT软件开发常用英语词汇)
发一份,我们导师的收集的常用词汇,与大家共享 欢迎加入Java学习交流裙六一六九五九四四四! S 欢迎加入Java学习交流裙 六一六 九五九 四四四!
- Vim正则通配符使用心得
目的 实现替换 c f[i][j][k] -> f[k][i][j] f[i + 1][j][k] -> f[k][i + 1][j] f[i + 1][j + NY][k] -> ...
- 【caffe】Error parsing text-format NetParameter: ****:**:Expected string.
错误描述: prototxt中第****行,第**列缺少一个整型数或者标识符. 解决方法: 检查对应的prototxt文件,第****行,第**列是否遗漏相关信息. 我的文件是在代码新旧版本没对应好~ ...
- (cljs/run-at (JSVM. :browser) "简单类型可不简单啊~")
前言 每逢学习一个新的语言时总要先了解这门语言支持的数据类型,因为数据类型决定这门语言所针对的问题域,像Bash那样内置只支持字符串的脚步明显就是用于文本处理啦.而数据类型又分为标量类型(Scala ...