相关疑难解决方法(0)

由于没有主模块,因此不会生成任何输出

我写了一个简单的模块叫做Test:

module Test (main) where

main =
  putStrLn "Hello"
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试通过以下命令行编译它时:

ghc Test.hs -o my-program
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

[1 of 1] Compiling Test             ( Test.hs, Test.o )

<no location info>: error:
    output was redirected with -o, but no output will be generated because there is no Main module.
Run Code Online (Sandbox Code Playgroud)

haskell program-entry-point

14
推荐指数
2
解决办法
1530
查看次数

不能定义多个可执行文件

我在app文件夹中有两个文件

app/
|-- Main.hs
|-- SomeFunc2.hs
Run Code Online (Sandbox Code Playgroud)

SomeFunc2.hs仅仅是打印不同的字符串

module SomeFunc2 where

import Lib

main :: IO ()
main = putStrLn "someFunc2"
Run Code Online (Sandbox Code Playgroud)

当我package.yaml像这样定义多个可执行文件时

executables:
  multiexes-exe:
    main:                Main.hs
    source-dirs:         app
    ghc-options:
    - -threaded
    - -rtsopts
    - -with-rtsopts=-N
    dependencies:
    - multiexes

  somefunc2-exe:
    main:                SomeFunc2.hs
    source-dirs:         app
    ghc-options:
    - -threaded
    - -rtsopts
    - -with-rtsopts=-N
    dependencies:
    - multiexes
Run Code Online (Sandbox Code Playgroud)

我有错误:

? stack build
Building all executables for `multiexes' once. After a successful build of all of them, only specified executables will …
Run Code Online (Sandbox Code Playgroud)

haskell haskell-stack

4
推荐指数
1
解决办法
721
查看次数