У меня есть проект C ++ со структурой папок, примерно такой:
root/trunk
root/trunk/src/...
root/trunk/include/...
root/trunk/utils/... <-- this has the `main` programs which are compiled
root/trunk/bin/... compiled binaries
root/data/... data used in the programs
В моих исходных файлах я иногда ссылаюсь на файлы, включенные в подпапки данных. Я хочу, чтобы пути, которые я использую, были относительными (потому что я делюсь этим проектом с кем-то еще).
Как я могу гарантировать, что файлы данных всегда можно найти? В настоящее время я использую следующие пути:
std::string my_data("../../../data/path/to/file.txt");
Тем не менее, мне трудно использовать это, чтобы определить, куда ведет относительный путь, и может быть грязно при перемещении исходных файлов. Это лучший способ сделать то же самое?