0

我正在使用带有 CTEST 的 CMAKE 来运行我的回归。我的应用程序是一个控制台应用程序,它以它的环境呈现的任何编码输出(Tcl 的一个特性)。

我如何告诉 Visual Studio 当它运行我的应用程序以在 utf-8 环境中运行它时。现在我的回归结果是用拉丁文编码的,因此很难与我的 linux 版本上的回归进行比较。

4

1 回答 1

1

stdout/stderr 流不支持 unicode,因此 Visual Studio 无法从您的进程接收 unicode 输出。这是 MS 在 VS 2005 中实现 Unicode 支持时必须解决的问题,请参阅这篇博文。简而言之,cl.exe 使用一组管道将 unicode 输出写入 Visual Studio 控制台窗口。

您的包装器可以将进程的输出转换为系统代码页,或者弄清楚如何打开 cl.exe 使用的 Unicode 管道并改为写入它们。

于 2009-08-05T11:03:37.830 回答