Вам нужно нормализовать оба пути, затем вы делаете простое сравнение подстрок , чтобы увидеть, начинается ли ваш путь с нормализованного ссылочного пути.
Нормализация включает добавление текущего рабочего каталога к относительному пути, нормализацию регистра, если ваша файловая система нечувствительна к регистру, возможно разрешение символических ссылок и, возможно, даже тестирование на жесткие ссылки. Если вы хотите, чтобы сам файл был символической ссылкой, вы должны извлечь часть пути до нормализации.
Я сделал это в Linux, используя функцию realpath()
, и она работает очень хорошо, даже если путь ссылки содержит символические ссылки. Не знаю, как это сделать с помощью Boost.