Bazel
Bazel是谷歌推出的项目编译工具
install
-
Download the corresponding
.repo
file from Fedora COPR and copy it to/etc/yum.repos.d/
.wget https://copr.fedorainfracloud.org/coprs/vbatts/bazel/repo/epel-7/vbatts-bazel-epel-7.repo mv vbatts-bazel-epel-7.repo /etc/yum.repos.d/
-
Run the following command:
yum install bazel3
usage
关键文件:
-
WORKSPACE:这是个空文件,该文件可以表明它所在的文件夹为workerspace文件夹,这个文件夹用来存放想要编译的源文件,以及输出文件的链接。
-
BUILD:存在于源文件夹内(和源代码在同一层)。有很多bazel的创建类型,举例:
cc_library( name = "hello_lib", srcs = ["hello.cc"], hdrs = ["hello.hh"], #headers ) cc_binary( name = "hello", srcs = ["main.cc"], deps = [":hello_lib"], #depends )
配置好这两个文件,并编程好代码后,在BUILD所在文件夹内执行:bazel build ...
会在workerspace文件夹内产生输出文件的链接:
bazel-bin内就是编译成的可执行的文件:
.a文件是静态链接库,.so文件是动态链接库
command
查看cc_binary所依赖的lib:
bazel query "deps(//hello:hello)" --noimplicit_deps