小编Ste*_*kiy的帖子

Bazel + C++ 项目:如何为“运行”命令指定工作目录

我正在尝试使用工作区根目录中的命令运行bazel目标bazel run。我想将相对路径作为参数传递给该目标。目前它无法识别此通道,而从控制台手动运行则可以正常工作。

所以我得出结论,此时 bazel 的工作目录与工作空间根目录不同。

我已经检查了 bazel 文档、google,但没有找到明确的方法来指定运行命令的工作目录。有人知道正确的方法吗?谢谢!

PS:也就是说,我正在尝试运行mediapipe iris example,我使用以下命令(从项目根目录)构建它:

bazel build -c opt --define MEDIAPIPE_DISABLE_GPU=1 mediapipe/examples/desktop/iris_tracking:iris_tracking_cpu
Run Code Online (Sandbox Code Playgroud)

然后,如果我手动运行它(也从项目根目录)它工作正常:

GLOG_logtostderr=1 bazel-bin/mediapipe/examples/desktop/hand_tracking/hand_tracking_gpu   --calculator_graph_config_file=mediapipe/graphs/hand_tracking/hand_tracking_mobile.pbtxt
Run Code Online (Sandbox Code Playgroud)

现在,如果我运行它,bazel run它就会失败:

bazel run -c dbg --define MEDIAPIPE_DISABLE_GPU=1 mediapipe/examples/desktop/iris_tracking:iris_tracking_cpu -- --calculator_graph_config_file=mediapipe/graphs/iris_tracking/iris_tracking_cpu.pbtxt
Run Code Online (Sandbox Code Playgroud)

$PWD不,在图形路径前面使用并没有帮助,因为 mediapipe 引擎仍然依赖于相对路径和正确的 CWD 值。

c++ bazel mediapipe

4
推荐指数
1
解决办法
5375
查看次数

标签 统计

bazel ×1

c++ ×1

mediapipe ×1