libclang / libtooling处理或关闭所有错误输出

时间:2014-04-28 14:19:17

标签: c++ c libclang

我认为每件事都在标题中^^ 事实上,我正在使用libtooling开发一个工具,但是我想要压缩每个错误(该工具的目的只是在正确的源上使用,因此错误输出会使stderr ...)。

2 个答案:

答案 0 :(得分:4)

标题是libclang / libtooling,所以这里是libclang的答案。像这样创建CXIndex

bool excludeDeclarationsFromPCH = false;
bool displayDiagnostics = false;
CXIndex index = clang_createIndex((int)excludeDeclarationsFromPCH, (int)displayDiagnostics);

请参阅documentation

答案 1 :(得分:0)

您要重定向std::cerr输出吗?或者每个子进程的stderr?如果是后一种情况,您可以执行以下操作:

#include <unistd.h>

int fd = dup(2);
int n = open("/dev/null", O_WRONLY);
dup2(n, 2);
close(n);

//... do your thing ...

dup2(fd, 2); // put the stderr back where it belongs :D
close(fd);