c++ - 使用 Bazel 构建后自动复制可执行文件
问题描述
假设我有以下目录布局:
.../
root/
bin/
sdl.dll
src/
main/
main.cpp
BUILD
WORKSPACE
还有一个 BUILD 文件,上面写着:
cc_binary(
name = "test",
srcs = ["main.cpp"]
)
我的构建命令行是:
bazel build //main:hello-world --symlink_prefix=/
我需要在我的 BUILD 文件中添加什么,以便将 test.exe(和 test.pdb,如果适用)复制到 bin(与 sdl.dll 一起)?
我查看了此页面并尝试使用--output_base
但比我想要的更多的东西。
PS:在“Visual Studio”术语中,我希望将 $(OutDir) 或 postbuild 从 $(OutDir) 更改为 ..\bin
解决方案
您不能直接对 Bazel 执行此操作。Bazel 出于密封原因不会写入您的源目录。解决方法是使用手动运行或使用bazel run
.
另请参阅:如何将文件写入当前目录而不是 bazel-out。
推荐阅读
- angular - 带有 Angular 8 的 NG-bootstrap 4:导航栏有效,但不会在点击时自动关闭(导航栏内部或外部)
- vue.js - vuejs中组件的单例实例
- python - 在熊猫图中按类别着色
- bash - 从终端过滤大文件中的值
- ruby-on-rails - 对数组中的非整数进行排序
- ruby-on-rails - 安装 Rails Engine 时,模块名称无法识别
- javascript - 无法解决 redux reducer 函数中的 axios promise
- javascript - 如果元素的子元素具有相同的内容,则合并它们
- ssl - 如何将 ssl 端口 123 上的 url www.test.com 指向默认网站下的子站点?
- excel - Excel VBA:循环浏览 .msg 文件的目录