更改gcc编译器错误的文本 在我的公司,我们最近用C++和模板做了一些棘手的事情,利用了编译器的一些特性。当使用这段代码时,人们需要执行一些设置步骤,否则会出现一些相当隐晦的编译器错误,我想做的是确定是否有一种方法可以告诉编译器在编译时注入或交换已发布的消息以获取错误?因此,我要么得到一条友好的消息,指示该人与神秘错误相关,要么代替神秘错误

更改gcc编译器错误的文本 在我的公司,我们最近用C++和模板做了一些棘手的事情,利用了编译器的一些特性。当使用这段代码时,人们需要执行一些设置步骤,否则会出现一些相当隐晦的编译器错误,我想做的是确定是否有一种方法可以告诉编译器在编译时注入或交换已发布的消息以获取错误?因此,我要么得到一条友好的消息,指示该人与神秘错误相关,要么代替神秘错误,c++,compiler-construction,C++,Compiler Construction,谢谢。我想你有两个选择。首先,您可以使用构建系统并添加一个步骤,以便在向用户显示构建输出之前对其进行后期处理;然后,您可以检测并修改您关心的错误消息。如果您有权访问编译器的源代码,另一个选项就是直接在编译器中修改这些字符串。您能将编译器包装成脚本吗?该脚本将运行编译器并使用STDOUT/STDERR,并输出用户友好的消息 gcc source.c 2>&1 | sed -e 's/Cryptic Message/Friendly Message/' 主要是开玩笑。添加生成后步骤可

谢谢。

我想你有两个选择。首先,您可以使用构建系统并添加一个步骤,以便在向用户显示构建输出之前对其进行后期处理;然后,您可以检测并修改您关心的错误消息。如果您有权访问编译器的源代码,另一个选项就是直接在编译器中修改这些字符串。

您能将编译器包装成脚本吗?该脚本将运行编译器并使用STDOUT/STDERR,并输出用户友好的消息

gcc source.c 2>&1 | sed -e 's/Cryptic Message/Friendly Message/'

主要是开玩笑。添加生成后步骤可能更好。

您应该研究。

这是例如STLFilt所使用的方法。