【问题标题】:wxHaskell labels can't display full textwxHaskell 标签无法显示全文
【发布时间】:2011-09-04 12:13:40
【问题描述】:

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

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

有什么想法吗?

【问题讨论】:

    标签: haskell wxwidgets wxhaskell


    【解决方案1】:

    您需要确保用于构建 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,但其他人尝试过。

    【讨论】:

    • 这似乎是它。请参阅:haskell.org/haskellwiki/WxHaskell/Troubleshooting 在此页面搜索“我只看到每个单词的第一个字母”
    • 修复的具体步骤:> $env:WXCFG = "gcc_dll\mswu" (in windows 7 powershell, or however you set it in the command prompt you're using)> cabal install --reinstall wxcore 然后重建你的包,它现在可以工作了。
    • 我发现这并没有解决它 - 但我使用了包含所有构建和 dll 的 wxPack,然后不得不将 wxmsw28u_gcc.dll 从:../libraries/wxWidgets/lib/gcc_dll/ 复制到: c:/windows/system
    • 我终于成功让 wxHaskell 在 Windows 上运行。将 %WXWIN%/lib/gcc_dll 添加到您的 PATH(并设置 WXWIN)可能是一个更好的解决方案。
    猜你喜欢
    • 2011-12-09
    • 2013-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多