linux - 如何将编译器的所有输出捕获到文件中?

我正在 Linux 中从源代码 (CPP) 构建一个开源项目。这是顺序:

$CFLAGS="-g Wall" CXXFLAGS="-g Wall" ../trunk/configure --prefix=/somepath/ --host=i386-pc --target=i386-pc
$make

在编译时,我收到很多编译器警告。我想开始修复它们。我的问题是如何捕获文件中的所有编译器输出?

$make > file 没有做这项工作。它只是保存编译器命令,如 g++ -someoptions/asdf/xyz.cpp 我想要这些命令执行的输出。

最佳答案

编译器警告发生在 stderr 上,而不是 stdout 上,这就是为什么当您将 make 重定向到其他地方时看不到它们的原因.相反,如果您使用的是 Bash,请尝试以下操作:

$ make &> results.txt

& 的意思是“将标准输出和标准错误重定向到这个位置”。其他 shell 通常具有类似的构造。

https://stackoverflow.com/questions/2297536/

相关文章:

python - 如何在 Python 中创建命名空间包?

python - 如何跳过循环中的迭代?

c - 如何在 Linux 上递归列出 C 中的目录?

python - 在 ipython 笔记本中测量单元执行时间的简单方法

mysql - 通过 shell 脚本使用 echo 命令自动化 mysql_secure_inst

linux - 在 Linux 的文本文件中用逗号替换空格

android - 如何在 Ubuntu 上安装 Android SDK?

linux - SO_REUSEADDR(setsockopt 选项)的含义是什么 - Linux?

linux - 在 shell 脚本中缩进多行输出

python - python的Maven等价物