Заставьте gcc / g ++ использовать абсолютный путь для предупреждений при компиляции файлов в pwd - PullRequest
3 голосов
/ 13 апреля 2011

Есть ли способ заставить gcc использовать абсолютный путь при печати ошибок, найденных в файлах, скомпилированных в текущем каталоге?

Например, следующее делает то, что я хочу при ошибках печати:

g++ -I. -I../../.. /home/some/path/somefile.cpp

но я хочу добиться того же с чем-то вроде:

g++ -I. -I../../.. somefile.cpp

Я хочу, чтобы предупреждения и ошибки форматировались как-то вроде:

/home/some/path/somefile.cpp:299:52: warning: some warning

1 Ответ

0 голосов
/ 13 апреля 2011

Нет способа сделать это с самим gcc, но это тривиально со скриптом-оберткой, установленным как "gcc", "g ++" и т. Д. В каталоге до /usr/bin в вашем PATH:

#! /bin/sh
sourcefile="$1"; shift
case "$sourcefile" in
    /*) ;;
    *) sourcefile="$PWD/$sourcefile" ;;
esac
exec "/usr/bin/${0##*/}" "$sourcefile" "$@"

... при условии, что вы всегда помещаете исходный файл первым в вызов вашего компилятора (вам придется настроить ваши Makefiles).

...