bazel build说明笔记

bazel笔记:

 bazel的编译是基于工作区,也就是项目的根目录 

1. workspace文件:制定当前文件夹就是一个bazel工作区。 

2.一个或多个build文件,如果工作区中的一个目录包含build文件,那么他就是一个package. 因此,要制定一个目录为bazel的工作区,就只要在该目录下创建一个空的workspace即可。 

//: 该符号标识根目录下的文件 

target:

cc_binary (name) 

 cc_libary 

 cc_test



可视化:

 bazel query --nohost_deps --noimplicit_deps 'deps(//main:hello-world)' --output graph  

 bazel有两个关键元素,一个是package,另一个是target package是可独立编译的project包,由workspace文件(可为空)标识; target是BUILD文件中的关键元素,也就是编译的目标,目标可以是二进制文件(cc_binary), 可以是libary(cc_libary)  



另外的选项:

visiblity: ["//visibility:public"],['//visibility:private'](私有),['//some/package:__pkg__'](注意冒号) ex: package(default_visibility = ["//visibility:public"])

你可能感兴趣的:(bazel build说明笔记)