2012-03-12 1 views
2

Je suis nouveau à haskell et j'essaie de faire mon exercice pour ma classe, j'ai écrit ce qui suit et essayé d'évaluer le principal, mais il crache une erreur . (En WinGHCi)Haskell: message d'erreur GLUt32 lors de l'exécution de mon programme

Loading package GLUT-2.3.0.0 ... can't load .so/.DLL for: glut32 (addDLL: could not load DLL) 

J'ai essayé d'ajouter le glut32.dll à mon dossier system32 et l'exécuter à nouveau, mais la même erreur apparaît toujours vers le haut. Quelqu'un peut-il me dire ce qui se passe?

Heres mon code:

import Graphics.Gloss

main = display (InWindow "Exercise One" (200, 200) (10, 10)) black picture

picture = color red (rectangleWire 198 198)

quand je compile par ghc -o test test.hs et en utilisant Powershell ./test et il recrache une erreur: one.exe: user error (unknown GLUT entry glutInit)

Toute aide serait appréciée!

+0

Avez-vous configuré correctement les variables système et environnement? –

+0

@SerdarDogruyol selon mon site de conférencier et hackage J'ai, j'ai installé la plate-forme haskell et a couru 'cabal update' et' cabal install gloss' par powershell – SNpn

+0

ghci utilise un chargeur différent de celui du compilateur, je ne suis pas sûr qu'il est même possible de charger .so/dlls dans ghci sur toutes les plates-formes. Pouvez-vous compiler le code et exécuter l'exécutable? –

Répondre

6

Vous mettez le fichier glut32.dll dans votre répertoire system32 mais si vous utilisez une version 64 bits de Windows, vous devez le placer dans votre répertoire Windows \ SysWOW64, avec les autres fichiers binaires 32 bits.

Pour des raisons historiques, system32 contient les binaires natifs du système d'exploitation et ne sont en réalité que des versions 32 bits sur les fenêtres 32 bits. Malgré le nom, les binaires dans system32 sont 64 bits sur Windows 64 bits et les fichiers 32 bits dans SysWOW64. GHC n'a pas de port Win64 pour le moment, il a donc besoin de la version 32 bits de glut32.dll.

Vous pouvez également essayer de placer le fichier glut32.dll dans le même répertoire que l'exe que vous construisez.

Il existe plusieurs versions de glut pour Windows; Je recommande l'une des versions binaires (32 bits) de freeglut.

+0

ce genre de corrigé le problème ... maintenant je semble obtenir une autre erreur (après avoir placé le fichier dans SysWOW64), 'GLUT: Avertissement dans test.exe: erreur GL: opération invalide', j'ai changé mon code, s'il vous plaît lire ci-dessus – SNpn

+0

ne vous inquiétez pas, je l'ai compris, merci pour toute l'aide! – SNpn

+0

Content de l'entendre! –

Questions connexes