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. java中常量定义在interface中好还是定义在class中

    Java中interface中定义变量都是"public static final" 类型的, 也就是常量, 因此很多人在interface定义常用的常量,除此之外单独定义一个cl ...

  2. T-SQL经典语句(SQL server)

    一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备 ...

  3. Reverse Integer--整数的反转

    原题: Reverse digits of an integer. =>反转一个整数的数字.例子如下: Example1: x = 123, return 321 Example2: x = - ...

  4. IDEA下clean Maven项目

    如何调试出窗口: 点击菜单栏View->Tool Windows->Maven projects ♦如下图,选中之后.点击绿色三角形就可以clean了

  5. 菜鸟调错(三)——Jboss与jdk版本号不兼容导致WebService调用出错

    环境: jdk1.6 Jboss 5.1.0.GA 问题描写叙述: EJB公布webserivce已经成功,而且可以成功訪问wsdl文件: 使用axis1自带的sample/client下的类Dyna ...

  6. 获取ArcGIS安装路径

    在要素类进行符号化时,使用axSymbologyControl需要安装路径下的Style文件路径,在AE9.3+VS2008中是这样的: Microsoft.Win32.RegistryKey reg ...

  7. TCP客户/服务器程序实例——回射服务器

    目录 客户/服务器程序源码 POSIX信号处理 POSIX信号语义 处理SIGCHLD信号 处理僵死进程 处理被中断的系统调用 wait和waitpid函数 wait和waitpid函数的区别 网络编 ...

  8. mysql表utf-8 字符串入库编码异常

    分析:http://www.myexception.cn/mysql/639943.html 解决方法:http://blog.sina.com.cn/s/blog_3f78232201011o26. ...

  9. 转:不在同一个服务器上的数据库之间的数据操作(oracle/sql server的对比)

    如何操做不在同一个数据库中的数据操作: 一.对于SQL server来讲:  1.采用创建链接服务器的方式:    (1).创建链接服务器       exec sp_addlinkedserver  ...

  10. SyntaxError: Non-UTF-8 code starting with '\xc5' in file t.py on line 3,but no encoding declared;see http://python.org/dev/peps/pep-0263/ for details

    解决方案是: 在程序最上面加上:# coding=gbk 这样程序就可以正常运行了.