我需要更改命令Setup.hs的顺序才能链接我的应用程序。我正在尝试为Haskell建立WinRT预测。到目前为止,它们是原始的,但是我希望Linux中的mingw / nix交叉编译成为该项目中的“一流”。
它们从安装了Windows SDK的Windows 10 Haskell平台中构建得很好。
但是,当我从GNU / Linux发出nix-build
并带有合适的nix文件时,它无法说明无法找到来自Windowsapp的某些符号(Windows上为windowsapp.lib
,mingw上为libwindowsapp.a
)。
但是,如果我保留它制作的临时文件并使用Setup build -v
来获得链接命令,则可以通过重新运行它并在 end -lwindowsapp来使其链接。 > ld
命令行中的> —与其他Windows / Mingw特定库(例如-lmsvcrt
和-lgdi32
混合在一起的位置)。这些似乎与rts和base的额外库有关。
在Windows上使用extra-libraries: windowsapp
或ghc-options: -lwindowsapp
可以正常工作,但是将-lwindowsapp
放在命令行的开头上,因此在Linux / mingw交叉编译。
如何使用cabal自动将该参数附加到提供给链接器的命令的末尾?