2

我在这里使用“Hello World”在 Windows XP 上测试 wxHaskell:http ://www.haskell.org/haskellwiki/WxHaskell/Quick_start

但是当它在我的机器上运行时,所有文本都不会显示。例如,“退出”只会显示“Q”。

有任何想法吗?

4

1 回答 1

2

您需要确保用于构建 wxhaskell 的 wxWidgets 启用了 Unicode 支持。我认为您可以通过运行 wx-config --libs --unicode 进行检查。

我认为正在发生的是 wxWidgets 期待简单的 8 位字符,但正在接收宽 32 位字符。零被解释为空字符,即字符串终止符。启用 Unicode 支持会为您提供一个接受宽字符的 wxWidgets。我不完全确定这个版本的故事是​​否非常准确,但我知道 Unicode wxWidgets 解决了这个问题。

我想,在大多数 Linux 发行版上,wxWidgets 包已经支持 Unicode。

在 MacOS X 上,捆绑的 wxWidgets 确实支持 Unicode,但遗憾的是缺少一些与事件处理相关的必要功能。获得工作 wxWidgets 的最简单方法是通过 Homebrew ( brew update; brew install wxmac )。

我从未在 Windows 上尝试过 wxhaskell,但其他人尝试过。

于 2011-05-30T09:43:09.043 回答