2009-07-29 4 views
0

Ich verwende CMAKE mit CTEST, um meine Regressionen auszuführen. Meine Anwendung ist eine Konsolen-App, die in welcher Kodierung auch immer von ihrer Umgebung dargestellt wird (eine Funktion von Tcl).Tell Visual Studio zum Erstellen einer UTF-8-Umgebung beim Ausführen ausführbarer Dateien

Wie sage ich Visual Studio, dass, wenn es meine Anwendung ausführt, es in einer UTF-8-Umgebung ausgeführt wird. Momentan sind meine Regressionsergebnisse in Latein kodiert und es ist schwierig, sie mit Regressionen auf meinen Linux-Builds zu vergleichen.

+0

Ich denke, ich muss nur eine UTF-8-Umgebung manuell in einem Wrapper-Skript erstellen, das das gewünschte Skript eingibt. – Juan

+0

Meinst du "präsentiert" statt "verhindert"? – JesperE

+0

den Tippfehler behoben, danke. – Juan

Antwort

1

Die Stdout/Stderr-Streams unterstützen keinen Unicode, sodass Visual Studio keine Unicode-Ausgabe von Ihrem Prozess empfangen kann. Dies war ein Problem, mit dem MS bei der Implementierung der Unicode-Unterstützung in VS 2005 umgehen musste, siehe this blogpost. Kurz gesagt, cl.exe verwendet eine Reihe von Pipes, um die Unicode-Ausgabe in das Visual Studio-Konsolenfenster zu schreiben.

Ihr Wrapper könnte entweder die Ausgabe Ihres Prozesses in die Systemcode-Seite konvertieren oder herausfinden, wie die von cl.exe verwendeten Unicode-Pipes geöffnet und stattdessen geschrieben werden.

Verwandte Themen