Suprimir a saída para cout da biblioteca vinculada

Preciso vincular meus programas C ++ a algumas bibliotecas compartilhadas que geram saída demais parastd::cout estd::cerr tornando-os ambos inúteis para meus usos. Eu tenho acesso ao código-fonte C ++ dessas bibliotecas, mas não posso modificá-las.

Existe uma maneira de redirecionar sua saída para um fluxo diferente ou suprimi-lo quando vinculado ao meu código? Eu preferiria uma maneira limpa em C ++, mas, com medo de que isso fosse impossível, também ficarei feliz com os hacks de vinculação sujos. Também um "proxylibstdc++"ficaria bem como último recurso.

Estou trabalhando com uma cadeia de ferramentas GNU (g++, libtool, ld) no Linux.

questionAnswers(6)

yourAnswerToTheQuestion