默认情况下,LibTIFF将所有错误输出写入stderr。这似乎是硬编码的。是否有将其重定向到字符串消息处理程序或文件的方法?理想情况下,不修改LibTIFF本身,但如果它不是太大的改变,我可以修改它。
澄清#1
我需要以编程的方式这样做,因为我在另一个库中使用LibTIFF,并且这个库不允许向stderr写入任何东西(否则它会破坏使用我的库的应用程序)。我的库将所有错误记录到一个文件-我希望LibTIFF错误也被重定向到这个文件。
我无法控制使用我的库的应用程序。
澄清#2
我的库在C++中,运行在Windows上。
如有必要修改LibTIFF,欢迎提出建议和建议。
发布于 2011-07-12 05:26:01
您可能应该尝试在libtiff中使用TIFFSetErrorHandler函数。
使用此函数,用户可以更改库处理错误的方式。不需要修改libtiff的代码就可以将错误输出重定向到其他stderr。
http://www.unix.com/man-page/OpenSolaris/3tiff/TIFFSetErrorHandler/
发布于 2011-07-11 21:41:27
将以下内容添加到libtiff命令的末尾:
2>filename.txt其中filename.txt是要将输出保存到的文件的名称。然而,这种语法可能与平台有关;至少,这种语法应该适用于Linux和Windows。
发布于 2011-07-11 21:42:33
是的,添加2>输出文件
来源:http://www.lamfa.u-picardie.fr/asch/f/MeCS/courseware/users/help/general/unix/redirection.html
https://stackoverflow.com/questions/6656857
复制相似问题