我正在尝试从 Ludum Dare 构建一个 haskell 项目,但是每当我尝试构建时,我都会收到一条错误消息,指出目标文件包含太多部分。这是错误:

C:\Users\REDACTED\AppData\Local\Programs\stack\x86_64-windows\ghc-8.10.2\lib\../mingw/bin\ld.exe: .stack-work\dist\a3a5fe88\build\HSsingletons-2.7-J1xRPYS9ah3kGEIOoeLuX.o: too many sections (90295)
singletons           > C:\Users\REDACTED\AppData\Local\Programs\stack\x86_64-windows\ghc-8.10.2\lib\../mingw/bin\ld.exe: final link failed: file too big

--  While building package singletons-2.7 using:
      C:\Users\REDACTED\AppData\Local\Temp\stack-5ba10ebdb151d9fa\singletons-2.7\.stack-work\dist\a3a5fe88\setup\setup --builddir=.stack-work\dist\a3a5fe88 build --ghc-options " -fdiagnostics-color=always"
    Process exited with code: ExitFailure 1
我正在使用堆栈 2.3.3 和 Windows 10。该项目使用 vulkan 库。
我尝试添加 -opta-mbig-obj ,但是 gcc 然后失败了 error: unrecognized command line option '-mbig-obj'

最佳答案

看起来您可能需要尝试显式使用“大对象”文件格式,我相信您可以通过将 -opta-mbig-obj-Wa,-mbig-obj 添加到项目构建配置( package.yaml.cabal 文件)中的 GHC 标志来将 -mbig-obj 添加到汇编程序中选项。您可能还需要使用(我认为) --oformat pe-bigobj-x86-64-optl--oformat -optlpe-bigobj-x86-64-Wl,--oformat,pe-bigobj-x86-64 添加到链接器标志。您使用的是 32 位 MinGW 吗?我希望 MinGW64 默认处理这个。 (而且我实际上不确定 32 位是否支持这些标志,因此您可能需要升级。)

关于windows - ld : too many sections (90295),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/64287505/

10-16 12:47