在64位Windows 10

时间:2018-06-26 04:08:13

标签: user-interface haskell compilation gtk

我想在64位Windows 10上编译32位Haskell GUI应用程序,其中该GUI应用程序是使用GTK + -2.0和Glade构建的。 Here是如何执行的提示,即stack --install-ghc --arch i386 build

首先,我尝试了一个简单的hello应用程序,它可以正常工作,并获得了编译后的32位可执行文件。然后,我只对GUI应用程序执行相同的操作。不幸的是,它不起作用,并显示以下错误消息(显示是一部分,但所有其他错误都与未定义的不同对象相同):

  

C:\ sr \ snapshots \ 1595b4fc \ lib \ i386-windows-ghc-8.2.2 \ glib-0.13.6.0-KabdL9ogn57FjPMm7xrvLz / libHSglib-0.13.6.0-KabdL9ogn57FjPMm7xrvLz.a(Signal.o: .text + 0x31f7):对'g_signal_handler_unblock'未定义的引用(意味着“引用未定义”)

     

......

     

C:\ sr \ snapshots \ 1595b4fc \ lib \ i386-windows-ghc-8.2.2 \ glib-0.13.6.0-KabdL9ogn57FjPMm7xrvLz / libHSglib-0.13.6.0-KabdL9ogn57FjPMm7xrvLz.a(GList.o: .text + 0x111e):   跟着更多未定义的参考到g_slist_free

     

.......

     

collect2.exe:错误:ld返回了1   退出状态gcc.exe”在“链接器”阶段失败。 (退出代码:1)

     

-使用以下命令为包find-0.1.0.0构建自定义Setup.hs时:         C:\ sr \ setup-exe-cache \ i386-windows \ Cabal-simple_Z6RU0evB_2.0.1.0_ghc-8.2.2.exe   --builddir = .stack-work \ dist \ 010ee936建立lib:find exe:find-exe --ghc-options“ -ddump-hi -ddump-to-file -fdiagnostics-color = always”       进程退出,代码为:ExitFailure 1

我想这可能是由于缺少here所示的32位GTK + -2.0和某些32位编译器工具造成的。因此,我只下载32位msys2并使用它来安装32位GTK + -2.0和编译器工具,并将目录放在我的PATH中。此外,根据here,我还通过gtk2hs-buildtools重新安装了stack --install-ghc --arch i386 install gtk2hs-buildtools

完成所有操作后,我在项目目录中运行stack --install-ghc --arch i386 build,但是无法编译GUI应用程序。到现在为止,我还不知道如何解决它。沮丧!有人可以给我一些建议吗?非常感谢!

0 个答案:

没有答案