Заставить gcc указывать относительные имена файлов в отладочной информации

Проект, который я компилирую, использует CMake, который любит абсолютные пути.

Когда я компилирую с включенной отладочной информацией, gcc помещает эти длинные имена в разделы .debug_str, что плохо для отладки. Вместо этого я хотел бы иметь короткие относительные пути к корневому каталогу проекта.

Есть ли какая-нибудь возможность сказать gcc удалить часть имени пути перед отправкой отладочных данных? Или, может быть, есть какой-то инструмент, который может сделать это на скомпилированных двоичных файлах?

Я пытался использовать опцию SET(CMAKE_USE_RELATIVE_PATHS ON)(которая, похоже, не одобряетсяразработчиками), но поскольку я использую сборки вне исходного кода, пути все еще не в той форме, в которой я бы хотел, чтобы они были. т.е. они ./../src/mod_foo/foo.cвместо mod_foo/foo.c.

14
задан Community 23 May 2017 в 11:54
поделиться