那install和cc_binary有什么区别
时间: 2023-10-16 11:06:23 浏览: 51
`cc_binary` 是一个构建规则,用于编译生成可执行文件,它可以指定源代码文件、依赖库、编译选项等参数。而 `install` 是一个用于安装文件的规则,它并不会编译源代码,而是将已编译的可执行文件、库文件或其他文件复制到指定目录中。
具体来说,`cc_binary` 规则会将源代码编译成可执行文件,并将该可执行文件输出到 Bazel 的输出目录中(通常是 `bazel-bin` 目录),而 `install` 规则则会将已经编译好的可执行文件从输出目录中复制到指定的目标路径,以便其它用户或系统可以访问和使用该可执行文件。
例如,假设我们有一个 C++ 项目,其中包含一个名为 `myapp.cc` 的源代码文件,我们可以使用 `cc_binary` 规则将其编译成一个可执行文件:
```
cc_binary(
name = "myapp",
srcs = ["myapp.cc"],
deps = ["//mylib"],
)
```
这个规则会将 `myapp.cc` 编译成一个二进制文件,并将它放到 `bazel-bin` 目录下。如果我们想将该可执行文件安装到 `/usr/local/bin` 目录中,可以使用 `install` 规则:
```
install(
name = "myapp_install",
srcs = [":myapp"],
dest = "/usr/local/bin",
)
```
这个规则会将 `bazel-bin/myapp` 文件复制到 `/usr/local/bin` 目录中,以便其他用户或系统可以访问和使用它。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)