demo2 使用bazel编译多目标示例,一个bianry,一个library。

demo2目录树

── demo2

​ ├── app

​ │ ├── BUILD

​ │ ├── func.cpp

​ │ ├── func.hpp

​ │ └── hello_world.cpp

​ ├── README.md

​ └── WORKSPACE

本例和demo1类似,差异仅在于BUILD文件。

cc_library(
name = "hello_func",
srcs = ["func.cpp"],
hdrs = ["func.hpp"],
) cc_binary(
name = "hello_world",
srcs = ["hello_world.cpp"],
deps = [
":hello_func",
],
)

name和srcs不再赘述(见demo1),hdrs就是指定头文件;deps就是指定依赖;hello_world依赖hello_func,而hello_func即是一个lib target。

接下来我们进行构建,在demo2目录下执行 bazel build //app:hello_world

然后执行hello_world,看看是不是我们期望的结果

显然,构建成功。

这里提两个问题:

Q1:如果在app下再建一个目录lib,将func.*放在lib目录中,BUILD构建是否需要修改?

见demo2_1

Q2:hello_func并不是我们常见的lib*.so的动态库的形式,要想生成lib*.so需要怎么做呢?

见demo2_2

bazel-编译多目标的更多相关文章

  1. [转]C#程序无法在64位系统上运行之.NET编译的目标平台

    今天将编译的C#的exe拷贝到测试机上(Win7_64bit),一运行就挂了,提示“stop working”,一开始怀疑测试机上没有安装.net framework框架,追究半天原来是编译的目标平台 ...

  2. 关于.NET编译的目标平台(AnyCPU,x86,x64) (转)

    关于.NET编译的目标平台(AnyCPU,x86,x64)(转) 今天有项目的代码收到客户的反馈,要求所有的EXE工程的目标平台全部指定成x86,而所有DLL工程的目标平台全部指定成AnyCPU . ...

  3. Bazel 编译工具; tensorflow 编译

    什么是bazel https://docs.bazel.build/versions/master/bazel-overview.html 使用 bazel 构建 c++ 工程 https://git ...

  4. 开源框架---通过Bazel编译使用tensorflow c++ API 记录

    开源框架---通过Bazel编译使用tensorflow c++ API 记录 tensorflow python API,在python中借用pip安装tensorflow,真的很方便,几句指令就完 ...

  5. bazel编译im2txt的问题

    问题: 原本可以正常运行的程序,出现找不到tensorflow的问题.打印出来sys.version和sys.path,发现python版本并不是conda环境的版本 (tensorflow) yua ...

  6. TensorFlow入门——bazel编译(带GPU)

    这一系列基本上是属于我自己进行到了那个步骤就做到那个步骤的 由于新装了GPU (GTX750ti)和CUDA9.0.CUDNN7.1版本的软件,所以希望TensorFlow能在GPU上运行,也算上补上 ...

  7. Ubuntu系统下Bazel编译Tensorflow环境

    编写此文主要为了介绍在Ubuntu16.04上搭建Tensorflow-lite编译环境,涉及目标硬件为Armv7架构,8核Cortex-A7. 1.开发环境介绍: OS:Ubuntu16.04 64 ...

  8. .NET编译的目标平台(AnyCPU,x86,x64)

    转载:http://blog.sina.com.cn/s/blog_78b94aa301014i8r.html 今天有项目的代码收到客户的反馈,要求所有的EXE工程的目标平台全部指定成x86,而所有D ...

  9. 关于.NET编译的目标平台(AnyCPU,x86,x64)

    转载:http://blog.sina.com.cn/s/blog_78b94aa301014i8r.html 今天有项目的代码收到客户的反馈,要求所有的EXE工程的目标平台全部指定成x86,而所有D ...

  10. QT5.7.0在win10下使用visual studio 2015编译(目标平台 xp)

    环境:win10+vs2015+QT5.7.0 目标:编译出能在windows xp上运行的QT 通过baidu和bing找出来的结果没有一个能成功运行,大部分都能编译成功,并完美解决“exe不是有效 ...

随机推荐

  1. 神经网络可以拟合任意函数的视觉证明A visual proof that neural nets can compute any function

    One of the most striking facts about neural networks is that they can compute any function at all. T ...

  2. 数字锁相环Octave仿真

    clc; clear all; % 仿真数据长度 SimLens = 1000; % 载波信号 Fs = 2400; Ts = 1 / Fs; Fsig = 60; % 随机初相 Delta_Phas ...

  3. 第六章 consul UI

    1.建立三个consul节点(一个server+两个client) 具体的过程见http://www.cnblogs.com/java-zhao/p/5375132.html 1)在终端下启动vagr ...

  4. C++如何禁止掉对象的复制操作

    最容易想到的是将拷贝构造函数与赋值函数声明为private.但是,private只是说外部不能直接调用,但是可以间接通过类的成员函数与友元函数对其访问.那么怎么办呢? ---->在类中,允许声明 ...

  5. 是否 whether ,if

    f,whether这两个词都能引出宾语从句,词义是“是否”. if 为口语体.有时两个词可以通用,但是当所引出的从句为介词宾语或不定式短语时,则只能用whether My wife wants to ...

  6. 《java 语言程序设计》第3、4章编程练习

    3.1 public class test { public static void main(String[] args) { System.out.println("Enter a, b ...

  7. Android -- 发送Broadcast、有序无序

    普通广播                                                                                     优缺点:和有序广播的优 ...

  8. 【Linux】linux bash shell之变量替换::=句法、=句法、:-句法、-句法、=?句法、?句法、:+句法、+句法

    linux bash shell之变量替换::=句法.=句法.:-句法.-句法.=?句法.?句法.:+句法.+句法   linux bash shell之变量替换::=句法.=句法.:-句法.-句法. ...

  9. SCP远程拷贝命令

    利用scp指令可以在linux机器间传递文件,个人使用几次感觉效率还是较高的,比SFTP+本地做媒介要高得多. 1.本地拷贝到远程. 这种方式的命令模式是scp local_file remote_u ...

  10. C++基础学习教程(五)

    这一讲我们集中解说类和他的一些特性.首先我们从自己定义一个有理数类来開始. 在C语言中有一个keyword: struct ,用来创建一个结构体类型.可是在C++中这个关键的含义就不只如此了,以下我们 ...