如何在Windows上使用text-icu?

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

我也能够通过做ghc --make icu.hs来构build下面使用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

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

Stack包含Windows上的msys2副本,其中包含pacman软件包pipe理器,所以我们可以运行:

 stack exec -- pacman -Sy mingw64/mingw-w64-x86_64-icu stack build text-icu 

我是这样做的:

毕竟,我可以在ghci规范一个string。

这是Windows如何对缺less的静态依赖项作出反应。 当操作系统启动一个进程时,它会查找静态依赖关系。 如果缺less一个,那么程序不会启动。

使用depends.exe来找出缺less什么input。 这可能是一个缺less的DLL或者是一个错误的版本。

取决于1. Visual Studio 2. Microsoft Platform SDK 3.其他Microsoft软件包4. http://www.dependencywalker.com

在追查这种情况下发生的事情时,这是非常不可或缺的。

你应该检查是否有一些DLL丢失与cygcheck.check的path和Windows环境variables也是正确的。 或者尝试按照haskell过程重新安装。

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

祝你好运