как проинструктировать gcc / clang выводить временные файлы в определенный каталог

при использовании опции --save-temps для сохранения временных файлов gcc / clang выводит временный файл в том же каталоге, что и входные файлы. Есть ли возможность указать gcc для вывода файлов в какой-либо другой каталог.

или

когда не используется параметр --save-temps, временные файлы создаются в каталоге по умолчанию (например, $TMPDIR, например /tmp), но они удаляются после создания объектного файла. Есть ли способ поручить компилятору сохранить эти файлы вместо того, чтобы просто удалить их (я думаю, что единственным вариантом является --save-temps, который имеет проблему, указанную выше)

1 ответов


если вы используете -save-temps=obj временные файлы помещаются в тот же каталог, что и выходные файлы, например

gcc -save-temps=obj -o dir/foo.o foo.c

создать dir/foo.i

это описано в руководстве, очевидно. Все поддерживаемые параметры перечислены вhttps://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html и это ссылки на https://gcc.gnu.org/onlinedocs/gcc/Developer-Options.html для -save-temps.