[mew-dist 29158] Re: cmewが例外で終わる
Shuichi KITAGUCHI
ki at example.com
2010年 3月 16日 (火) 00:38:38 JST
北口です。
結局Win32でのコンパイルの件は、私の環境に超古いgmp.dllが残って
いて、libgmp.aではなくこのDLLの方を見に行ったためでした(-lXXXで
DLLも見に行くとは)。最初にかずさんにヒントを頂いていたのに、
お騒がせしました m(__)m
で、smewはできたのですが、cmewの方でコンパイルエラーです。
Stat.hs:34:13:
No instance for (Integral FILETIME)
arising from a use of `fileTimeToUnixTime' at Stat.hs:34:13-30
Possible fix: add an instance declaration for (Integral FILETIME)
In the second argument of `(.)', namely `fileTimeToUnixTime'
In the first argument of `($)', namely
`return . fileTimeToUnixTime'
In the expression: return . fileTimeToUnixTime $ ctime
これは、Stat.hsで、
(ctime,_,_) <- getFileTime fh ★fhからFILETIMEをctimeに拾ってきて、
closeHandle fh
return . fileTimeToUnixTime $ ctime ★ctimeをfileTimeToUnixTimeに渡すと、
where
-- http://support.microsoft.com/kb/167296/en-us
-- 100 nano seconds since 1 Jan 1601
-- MS: _FILETIME = {DWORD,DWORD} = {Word32,Word32}
-- Haskell: FILETIME == DDWORD == Word64
fileTimeToUnixTime x = (fromIntegral x - 116444736000000000) `div` 10000000
★ここに渡るんだけど、この処理がFILETIMEを扱っていない?
という感じじゃないかなと思うのですが、Haskellは手が出ません...
すみませんが、修正お願いします。
--
Shuichi KITAGUCHI // kit at example.com / ki at example.com
Mew-dist メーリングリストの案内