我正在使用CMAKE和CTEST来运行我的回归。我的应用程序是一个控制台应用程序,它以任何编码输出它的环境(Tcl的一个特性)。
如何告诉visual studio何时运行我的应用程序以在utf-8环境中运行它。现在我的回归结果是用拉丁语编码的,这使我很难与我的linux版本的回归进行比较。
答案 0 :(得分:1)
stdout / stderr流不支持unicode,因此Visual Studio无法从您的进程接收unicode输出。这是MS在VS 2005中实现Unicode支持时必须解决的问题,请参阅this blogpost。简而言之,cl.exe使用一组管道将unicode输出写入Visual Studio控制台窗口。
您的包装器可以将进程的输出转换为系统代码页,或者弄清楚如何打开cl.exe使用的Unicode管道并写入它们。