40

我能够毫无错误地安装 cabal text-icu。(我用--extra-lib-dirsand--extra-include-dirs指向 icu4c 二进制发行版中的libandinclude目录。)

text-icu通过执行以下操作,我还能够构建以下使用的简单程序ghc --make icu.hs

-- icu.hs
import Data.Text.ICU
main = print $ Locale "tr-TR"

这些步骤中的任何一个都没有错误或警告。但是当我尝试运行编译后的程序时icu.exe,我根本没有得到任何输出。我希望得到一条线Locale "tr-TR",但我什么也没得到——甚至没有错误或警告。如果我尝试,情况仍然如此

main = do
  print $ Locale "tr-TR"
  print "Done"

所以使用这些text-icu东西似乎会导致程序静默失败。 echo $?产量False

有没有人text-icu在 Windows 上启动并运行?你能告诉我我做错了什么吗?

4

4 回答 4

10

Stack在 Windows 上包含一个 msys2 的副本,其中包含pacman包管理器,因此我们可以运行:

stack exec -- pacman -Sy mingw64/mingw-w64-x86_64-icu
stack build text-icu
于 2015-12-31T07:35:43.860 回答
5

我通过这样做来管理它:

毕竟,我可以在ghci.

于 2015-12-30T22:24:31.363 回答
1

这就是 windows 对缺少的静态依赖项的反应。当操作系统启动一个进程时,它会查找静态依赖项。如果缺少一个,则程序不会启动。

使用depends.exe 找出缺少的导入。那可能是缺少 dll 或版本错误。

Depends 可用于 1. Visual Studio 2. Microsoft 平台 SDK 3. 其他 microsoft 包 4. http://www.dependencywalker.com

在追踪这种情况下发生的事情时,它是必不可少的。

于 2013-08-29T01:39:14.900 回答
0

您应该检查 cygcheck 是否缺少某些 DLL。检查路径和 windows 环境变量是否正确。或者尝试按照haskell程序重新安装。

http://www.haskell.org/haskellwiki/Windows#Tools_for_compilation

祝你好运

于 2013-06-28T12:47:15.777 回答