默认情况下,LibTIFF将所有错误输出写入stderr。这似乎是硬编码的。有没有办法将其重定向到字符串消息处理程序或文件?理想情况下,不需要修改LibTIFF本身,但如果修改不是太大,我可以修改。
澄清#1
我需要以编程方式执行此操作,因为我在另一个库中使用LibTIFF,并且不允许此库向stderr写入任何内容(否则它将弄乱使用我的库的应用程序)。我的库将所有错误记录到文件中 - 我也希望将LibTIFF错误重定向到此文件。
我无法控制使用我的库的应用程序。
澄清#2
我的库是用C ++编写的,可以在Windows上运行。
如果需要修改LibTIFF,欢迎提出建议和意见。
答案 0 :(得分:1)
您可能应该尝试在libtiff中使用TIFFSetErrorHandler
函数。
使用此功能,用户可以更改库处理错误的方式。不需要修改libtiff代码就可以将错误输出重定向到stderr以外的其他内容。
http://www.unix.com/man-page/OpenSolaris/3tiff/TIFFSetErrorHandler/
答案 1 :(得分:0)
将以下内容添加到libtiff命令的末尾:
2>filename.txt
其中filename.txt
是要将输出保存到的文件的名称。但是,此语法可能与平台有关;至少,这种语法应该适用于Linux和Windows。
答案 2 :(得分:0)
是的,添加 2 - ; OUTPUTFILE
来源: http://www.lamfa.u-picardie.fr/asch/f/MeCS/courseware/users/help/general/unix/redirection.html