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.