1

主にWindowsよりもHaskellライブラリを簡単に操作できるようにするために、Ubuntuを正常にインストールしました。

作業中の Haskell コードを実行すると、靴下が脱げてしまいます。ゲームに FunGen ライブラリを使用していますが、実行しようとするとこのエラーが発生しました。

freeglut (FunGen app):  ERROR:  Internal error <FBConfig with necessary capabilities nt found> in function fgOpenWindow
X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  4 (X_DestroyWindow)
  Resource id in failed request:  0x0
  Serial number of failed request:  33
  Current serial number in output stream:  36

いくつかの Web 検索の後、C コードでこれを修正する方法を見つけ (GlutDouble代わりに を使用)、 Haskell コードでGlDoubleその型を使用しています。Graphics.Rendering.OpenGL.GLdouble

もう少し調査したところ、タイプ GlDouble = Double であることがわかったので、これは原因ではありません。さらに、コードの gldouble 部分を削除しただけで、まだ機能しません。だから、ここに私を前のエラーに駆り立てるいくつかの簡単なコードがあります:

module Main where
import Graphics.UI.Fungen
width, height :: Int
width = 600
height = 400
w = fromIntegral width
h = fromIntegral height

main :: IO ()
main = do
    let winConfig = ((200, 200), (width, height), "game");
        gameMap = (textureMap 0 w h w h);
    funInit winConfig gameMap [] () () [] gameCycle (Timer 30) []
gameCycle :: IOGame () () () () ()
gameCycle = do  
            showFPS TimesRoman24 (w-40,0) 1.0 0.0 0.0

バージョンについては、freeglut3 2.6.0-1ubuntu2、ghc 6.12.3、fungen 0.3、haskell glut 2.2.2.0 および ubuntu 11.04 を入手しました。

これは他の誰かに起こりましたか?

4

1 に答える 1

1

推測ですが、 https: //bugs.freedesktop.org/show_bug.cgi?id=24226とhttp://ubuntuforums.org/archive/index.php/t-333966.htmlをスキミングすると、さまざまな GL[UT] 初期化パラメーターを試すことによって結果が得られます。FunGEn の Graphics/UI/Fungen/Init.hsGLUT の初期化 APIを参照してください。FunGEn のfunInit間接モードを明示的に設定している可能性があります。

initialize "FunGen app" ["-indirect"]
于 2011-09-02T22:13:31.670 に答える