C ++ - 我需要一个宏或一个环境变量来检测我在Windows上运行bazel的时间

时间:2018-04-06 02:43:41

标签: c++ windows bazel

作为一种解决方法,当我在Windows上使用bazel运行我的可执行文件时,我必须将"../../../../../../"s附加到我想要打开的文件路径中,这些路径是我的数据依赖项的一部分。另请参阅此处链接的评论:C++ Bazel project with a Data repository

我想在下面有类似的内容,这将简化我的应用程序测试:

auto basePath = "dataDir/subDir/"s;
if( isRunningFromBazelOnWindows() ) basePath = "../../../../../../"s + basePath;
auto file = std::ifstream{basePath + "dataFile"};
...

我如何编码isRunningFromBazelOnWindows()

谢谢!

1 个答案:

答案 0 :(得分:0)

现在Bazel(可能尚未在稳定的bazel中发布?)提供了runfiles库,简化了对runfiles的访问。我想design doc是最佳起点。