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 测试过程的更多相关文章

  1. Google软件构建工具Bazel FAQ

    Google软件构建工具Bazel FAQ 本文是我的翻译,原文在这里.欢迎转载,转载请注名本文作者和原始链接 注:如果想了解Bazel的原理,可以看看我之前翻译的Google Blaze原理及使用方 ...

  2. Google软件构建工具Bazel

    转载Google软件构建工具Bazel FAQ 本文是我的翻译,原文在这里.欢迎转载,转载请注名本文作者和原始链接注:如果想了解Bazel的原理,可以看看我之前翻译的Google Blaze原理及使用 ...

  3. Google软件构建工具Bazel原理及使用方法介绍

    近期,Google开源了强大的自动化构建工具Bazel. 正好博主近期在使用china版的Bazel--腾讯自主开发的Blade,所以准备跟大家分享一下Google Bazel这个分布式构建系统的原理 ...

  4. Qt for Android开发环境搭建及测试过程记录

    最近学习了Qt的QML编程技术,感觉相较于以前的QtGUI来说更方便一些,使用QML可以将界面与业务逻辑解耦,便于开发. QML支持跨平台,包括支持Android平台,因此可以使用Qt的QML进行An ...

  5. Redhat环境下编译安装Google Bazel

    Redhat环境下编译安装bazel 作者:Jack47 目前Google Bazel没有提供各个操作系统下的二进制安装包,只提供源代码,需要我们自己编译安装,详情可以见我翻译的中文版Google B ...

  6. 为什么google bazel构建工具流行不起来

    作者Jack47 转载请保留作者和原文出处 之前博主写了系列文章Google软件构建工具Bazel原理及使用方法介绍.最近使用了一段时间后,觉得这个东西不是一种通用的构建工具,很难对接到情况复杂的大的 ...

  7. 【dom4j xml】使用dom4j处理XML文件--测试过程遇到的问题

    首先 关于dom4j的API,有如下: 当然  其中的实体引用有以下: 测试使用环境: 使用Maven搭建web环境,pom.xml文件配置如下: <project xmlns="ht ...

  8. Google Tensorflow 源码编译(二):Bazel<v0.1.0>

    这几天终于把tensorflow安装上了,中间遇到过不少的问题,这里记录下来.供大家想源码安装的参考. 安装环境:POWER8处理器,Docker容器Ubuntu14.04镜像. Build Baze ...

  9. 针对APP的测试过程和重点关注内容,做以下梳理和总结

    转载自金阳光测试:http://blog.sina.com.cn/s/blog_12df1b9e60102vy57.html   1. 首先是测试资源确认及准备 (1)产品需求文档.产品原型图.接口说 ...

随机推荐

  1. mac Path had bad ownership/permissions

    解决方案: http://stackoverflow.com/questions/28063598/error-while-executing-plist-file-path-had-bad-owne ...

  2. Hybrid App开发之jQuery基础

    前言: 前面学习了JavaScript/Html/Css的基础知识,今天学习一下常用js框架jQuery的使用进行快速的开发. JQuery的基本功能: 方位和操作DOM元素 控制页面样式 对页面事件 ...

  3. iptables实用教程(二):管理链和策略

    概念和原理请参考上一篇文章"iptables实用教程(一)". 本文讲解如果管理iptables中的链和策略. 下面的代码格式中,下划线表示是一个占位符,需要根据实际情况输入参数, ...

  4. 透过源码看看Redis中如何计算QPS

    通常我们采集Redis的性能数据时,或者想要知道Redis当前的性能如何时,需要知道这个实例的QPS数据,那么这个QPS数据是如何计算的呢?我们都有哪些办法或者这个QPS ? QPS顾名思义就是每秒执 ...

  5. GCTF2017部分write up

    Misc stage1 拿到题看到是一张图片隐写 用神器Stegsolve看看发现左上角藏着一张二维码 截下来,不能直接扫,需要反色处理一下 扫出来是一串十六进制 看头几个十六进制数发现是pyc文件 ...

  6. [1] Entity Framework / Code First

    CodeFirst是EntityFramework的一种技术手段,因为传统编程方式都是先建立数据库,然后根据数据库模型为应用程序建模,再进行开发:CodeFirst从字面上理解就是代码先行,先在程序中 ...

  7. java中计算两个时间差

    java计算时间差及比较时间大小 比如:现在是2004-03-26 13:31:40 过去是:2004-01-02 11:30:24 我现在要获得两个日期差,差的形式为:XX天XX小时XX分XX秒 方 ...

  8. JAVA程序员成长历程(一)

    程序员的20个常见瓶颈 在扩展性的艺术一书中,Russell给出了20个有意思的估计:大约有20个经典瓶颈. Russell说,如果在他年轻时他就知道这些瓶颈该有多好!这些论断包括: * Databa ...

  9. 【Android Developers Training】 34. 添加一个简单的分享行为(Action)

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  10. FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换

    fastJson对于json格式字符串的解析主要用到了一下三个类: JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换. JSONObject:fas ...