Fix compilation issues on distro without std::filesystem (#348)

Этот коммит содержится в:
Aryan Salmanpour
2024-05-08 14:45:32 -04:00
коммит произвёл GitHub
родитель a1b20be3fc
Коммит bdb08ab644
2 изменённых файлов: 15 добавлений и 0 удалений
+11
Просмотреть файл
@@ -203,10 +203,17 @@ void ParseCommandLine(std::string &input_folder_path, std::string &output_folder
ShowHelpAndExit("-o");
}
output_folder_path = argv[i];
#if __cplusplus >= 201703L && __has_include(<filesystem>)
if (std::filesystem::is_directory(output_folder_path)) {
std::filesystem::remove_all(output_folder_path);
}
std::filesystem::create_directory(output_folder_path);
#else
if (std::experimental::filesystem::is_directory(output_folder_path)) {
std::experimental::filesystem::remove_all(output_folder_path);
}
std::experimental::filesystem::create_directory(output_folder_path);
#endif
b_dump_output_frames = true;
continue;
}
@@ -233,7 +240,11 @@ int main(int argc, char **argv) {
ParseCommandLine(input_folder_path, output_folder_path, device_id, n_thread, b_dump_output_frames, mem_type, argc, argv);
try {
#if __cplusplus >= 201703L && __has_include(<filesystem>)
for (const auto& entry : std::filesystem::directory_iterator(input_folder_path)) {
#else
for (const auto& entry : std::experimental::filesystem::directory_iterator(input_folder_path)) {
#endif
input_file_names.push_back(entry.path());
num_files++;
}
+4
Просмотреть файл
@@ -435,7 +435,11 @@ void VaapiVideoDecoder::GetVisibleDevices(std::vector<int>& visible_devices_veto
void VaapiVideoDecoder::GetCurrentComputePartition(std::vector<ComputePartition> &current_compute_partitions) {
std::string search_path = "/sys/devices/";
std::string partition_file = "current_compute_partition";
#if __cplusplus >= 201703L && __has_include(<filesystem>)
for (const auto& entry : std::filesystem::recursive_directory_iterator(search_path)) {
#else
for (const auto& entry : std::experimental::filesystem::recursive_directory_iterator(search_path)) {
#endif
if (entry.path().filename() == partition_file) {
std::ifstream file(entry.path());
if (file.is_open()) {