我正在编写一个需要引入 clang include 路径的程序。谢谢转储包含来自 g++ 的路径我已经到了一半了。我正在使用的命令是:
clang++ -E -x c++ - -v < /dev/null
这里的问题是我无法将上述命令的输出重定向到 stdout 或 stderr。
# These fail to retrieve the include paths
clang++ -E -x c++ - -v < /dev/null > stdout.txt
clang++ -E -x c++ - -v < /dev/null 2> stderr.txt
那么输出被重定向到哪里以及我需要执行什么命令才能正确存储打印到控制台的信息?
答案1
正如 @Kusalananda 所指出的,命令的输出将同时发送到 stderr 和 stdout。将 stderr 重定向到 stdout,然后捕获所有输出,如下所示:
clang++ -E -x c++ - -v < /dev/null > output.txt 2>&1