gpt4 book ai didi

windows - 编译 qtHaskell 时出错

转载 作者:可可西里 更新时间:2023-11-01 12:47:35 24 4
gpt4 key购买 nike

在 qmake 和 mingw32-make 之后来自 these指示成功,然后执行 runhaskell Setup.hs build,出现以下错误:

[651 of 662] Compiling Qtc.Core.Attributes ( Qtc\Core\Attributes.hs, dist\build\Qtc\Core\Attributes.o )
Qtc\Core\Attributes.hs:584:13:
Could not deduce (Qstt a (QDialogSc b))
arising from a use of `slotReject''
from the context (Qstt a (QDialogSc b1))
bound by the instance declaration
at Qtc\Core\Attributes.hs:582:10-52
Possible fix:
add (Qstt a (QDialogSc b)) to the context of
the instance declaration
or add an instance declaration for (Qstt a (QDialogSc b))
In the expression: slotReject'
In an equation for `reject'': reject' = slotReject'
In the instance declaration for `QsaSlotReject a'

Attributes.hs 文件(第 578 - 583 行):

class QsaSlotReject w where
slotReject', reject' :: (Qslot w (w -> ()), (w -> ()))

instance (Qstt a (QDialogSc b)) => QsaSlotReject (a) where
slotReject' = (Qslot "reject()", \_ -> ())
reject' = slotReject'

环境:

  • Windows 7
  • Haskell 平台 2011.2.0
  • Qt SDK 4.7

顺便说一句,我在这个过程中遇到了两次内存不足的情况,但我想这无关紧要。

最佳答案

麻烦来自于

data Qslot x f = Qslot String

因此,从 Qslot“Blah blah”形式的给定项目中推断 x 和 f 可能是什么有点困难。也许自去年秋天发布最新版本的 qthaskell 以来,GHC 使用的推理机制发生了微妙的变化。

无论如何,它似乎可以编译,但会出现一些奇怪的警告,并且示例可以正常工作,如果您替换

 instance (Qstt a (QDialogSc b)) => QsaSlotReject (a) where
slotReject' = (Qslot "reject()", \_ -> ())
reject' = slotReject'

 instance (Qstt a (QDialogSc b)) => QsaSlotReject (a) where
slotReject' = (Qslot "reject()", \_ -> ())
reject' = (Qslot "reject()", \_ -> ())

这样 ghc 就不必相当了...

一定有什么东西可以让事情变得更精确。我不知道以后开始系统地出现的 eta reduce 警告是否与这一行有关。

关于windows - 编译 qtHaskell 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5290479/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com