Из Википедии :
В вычислениях рабочий каталог процесса является каталогом иерархической файловой системы, если таковая имеется, динамически связанной с каждым процессом.
Иногда его называют текущим рабочим каталогом (CWD), например, функцией BSD getcwd (3), или просто текущим каталогом.
Когда процесс ссылается на файл, используя простое имя файла или относительный путь (в отличие от файла, обозначенного полным путем из корневого каталога), ссылка интерпретируется относительно текущего рабочего каталога процесса. Так, например, процесс с рабочим каталогом /rabbit-shoes, который просит создать файл foo.txt, в итоге создаст файл /rabbit-shoes/foo.txt.
Как правило, для всех программ "текущий рабочий каталог" - это каталог, в котором будет выполняться программа.
Он будет использовать его как блокнот для записи временных файлов - ваш после запуска пуст, потому что DoxyGen приводит в порядок после себя. Попробуйте посмотреть каталог во время работы DoxyGen или прервать DoxyGen и посмотреть, какие файлы остались без дела.
Также, как объяснено выше, любые относительные пути относятся к рабочему каталогу. Например, файл ..\foo.bar
означает файл foo.bar в каталоге над этим, где "этот" является текущим рабочим каталогом.
Слово "текущий" указывает, что сама программа может изменять рабочий каталог во время работы.
То, что вы сейчас делаете, просто прекрасно. Или вы можете использовать подпапку каталога приложения DoxyGen. Лично я использую корневой каталог исходного кода, с которым я запускаю DoxyGen, поскольку это позволяет мне сократить некоторые пути, которые я даю DoxyGen.