当打印在当前目录中编译的文件中发现的错误时,有没有办法让gcc使用绝对路径?
例如,以下是打印错误时的所需内容:
g++ -I. -I../../.. /home/some/path/somefile.cpp
但我希望通过以下方式实现相同目标:
g++ -I. -I../../.. somefile.cpp
我希望警告和错误的格式如下:
/home/some/path/somefile.cpp:299:52: warning: some warning
答案 0 :(得分:0)
使用gcc本身无法做到这一点,但是在PATH中/usr/bin
之前的目录中使用包装脚本安装为“gcc”,“g ++”等是微不足道的:
#! /bin/sh
sourcefile="$1"; shift
case "$sourcefile" in
/*) ;;
*) sourcefile="$PWD/$sourcefile" ;;
esac
exec "/usr/bin/${0##*/}" "$sourcefile" "$@"
...前提是您始终将源文件首先放入编译器调用中(您必须调整Makefile)。