Frage

Ich habe installiert Haskell über die Pre gebaut Installer v6.8.2.

Beim Versuch, diese Beispieldatei mit GHC zu kompilieren

module Main where
import Text.ParserCombinators.Parsec
import System.Environment

main :: IO ()
main = do args <- getArgs
          putStrLn ("Hello")

Ich erhalte den folgenden Fehler:

D:\src\Haskell>ghc -o read read.hs
ghc -o read read.hs
read.o(.text+0x1b5):fake: undefined reference to   `__stginit_parseczm2zi1zi0zi0_TextziParserCombinatorsziParsec_'
collect2: ld returned 1 exit status

Ich habe installiert Parsec über Kabale.

Hat jemand eine Idee, was falsch ist?

War es hilfreich?

Lösung

Versuchen ghc --make -o read read.hs. GHC wird von Linker Abhängigkeiten kümmern.

Andere Tipps

Ich werde eine andere Art und Weise lösche diese Arbeit zu machen

ghc -package parsec -o read read.hs

Von der ghc Dokumentation

-package P

This option causes the installed package P to be exposed. The package P can be 
specified in full with its version number (e.g. network-1.0) or the version number 
can be omitted if there is only one version of the package installed. If there are 
multiple versions of P installed, then all other versions will become hidden.

The -package P option also causes package P to be linked into the resulting 
executable or shared object. Whether a packages' library is linked statically or 
dynamically is controlled by the flag pair -static/-dynamic.

finden Sie unter http://www.haskell.org/ ghc / docs / latest / html / users_guide / packages.html

Nach der Parsec docs (Abschnitt 1.2. 1 Kompilieren mit GHC), sollten Sie dies tun:

  

Wenn Sie Ihre Verknüpfung der Dateien zusammen,   Sie müssen GHC sagen, wo es finden   Bibliotheken (-L) und mit dem verbinden   Parsec Bibliothek zu (-l):
     ghc -o myprogram myfile1.o myfile2.o -Lc:\parsec -lparsec

Diese Dokumentation auf der Haskell Compiler kann helfen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top