gpt4 book ai didi

haskell - 在 Haskell 中链接到 SDL 和其他库

转载 作者:行者123 更新时间:2023-12-01 09:10:05 25 4
gpt4 key购买 nike

如何告诉 ghc 告诉 ld 将编译后的二进制文件链接到 SDL 库?

我有一个 source.hs :

    import Prelude
import Graphics.UI.SDL as SDL
import Data.Maybe
import GHC.Word
import Control.Applicative
...

当我这样做时:

    ghc source.hs

我收到一堆与此类似的链接错误:

    pong.o: In function `s1Ww_info':
(.text+0x449): undefined reference to `SDLzm0zi5zi9_GraphicsziUIziSDLziRect_Rect_con_info'

我做错了什么?

最佳答案

如果由于某种原因你不想使用 GHC 的 --make 选项,这应该可以工作:ghc source.hs -lSDL -package SDL

如果您需要一些非核心 SDL 子库,则必须单独包含这些子库,例如 ghc source.hs -lSDL -SDL_ttf -package SDL -package SDL-ttf

您可能还需要考虑使用 cabal(Haskell 打包系统)设置构建文件,尤其是当您的程序扩展到几个源文件之外时。

还有一点警告——你没有提到你正在使用什么操作系统,但上次我尝试 Haskell 的 SDL 绑定(bind)只在 Linux 上“开箱即用”工作——Windows 和 OS X 都会导致它问题,因为 SDL 在这些平台上启动时使用了丑陋的 hack。

关于haskell - 在 Haskell 中链接到 SDL 和其他库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1949119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com