Bazel:为 cc_binary/cc_test 设置运行时环境变量和配置文件位置

Bazel: set runtime environment variable and configuration file location for cc_binary/cc_test

我正尝试在 linux 上的 C++ 应用程序中使用 odbc++。以下构建文件用于将库作为外部依赖项包含在内

licenses(["notice"])
cc_library(
    name = "lib",
    srcs=["lib/libodbc.so","lib64/libodbc++-mt.so"],
    hdrs=glob(["include/**/*.h","include/*.h"]),
    includes = ["include"],
    visibility = ["//visibility:public"],
    linkstatic = 1,
    data = [ "odbc.ini", "odbcinst.ini" ]
)

我的 bash 配置文件设置了 ODBCINI 和 OBCDINST,因此 运行 直接从命令行使用二进制文件就可以了。但是,运行ning bazel test时,环境变量ODBCINI和ODBCINST没有设置。

是否包含配置文件并为其设置 运行 时间环境变量?

谢谢

您可以使用 --test_env 标志为 bazel 中的测试执行设置环境变量。文档在这里:https://docs.bazel.build/versions/master/command-line-reference.html

例如,bazel build --test_env ODBCINI=foo //my:test