Als Workaround muss ich anhängen "../../../../../../"s
zu den Dateipfaden, die ich öffnen möchte, die Teil meiner Datenabhängigkeiten sind, wenn ich meine ausführbare Datei mit Bazel unter Windows ausführen. Siehe auch den hier verlinkten Kommentar: C ++ Bazel-Projekt mit einem Datenrepository
Ich hätte gerne so etwas wie das unten, was meine Anwendungstests erheblich vereinfachen würde:
auto basePath = "dataDir/subDir/"s;
if( isRunningFromBazelOnWindows() ) basePath = "../../../../../../"s + basePath;
auto file = std::ifstream{basePath + "dataFile"};
...
wie kann ich codieren? isRunningFromBazelOnWindows()
?
Vielen Dank!
Antworten:
0 für die Antwort № 1Bazel (jetzt vielleicht noch nicht in einem stabilen Bazel veröffentlicht?) Bietet Runfiles-Bibliotheken, die den Zugriff auf Runfiles vereinfachen. Ich denke mal das design doc ist der beste Ort, um zu beginnen.