如何调用“--enable-stdcall-fixup”选项?

时间:2015-07-07 19:33:08

标签: haskell

在Windows下构建DLL时,我得到以下输出:

Linking main.exe ...
Warning: resolving _findPeaksWrapper by linking to _findPeaksWrapper@16
Use --enable-stdcall-fixup to disable these warnings
Creating library file: HSdll.dll.a
Use --disable-stdcall-fixup to disable these fixups

我不清楚我应该在哪里放置--enable-stdcall-fixup标志。将其放入我的.cabal文件的ghc-options字段会产生GHC错误,而将其放入cc-optionsld-options似乎不会执行任何操作(警告仍会显示)。这面旗帜应该在哪里?

1 个答案:

答案 0 :(得分:2)

Google搜索表示--enable-stdcall-fixup是ld的选项。 cabal的最终链接步骤可能会有一些不同的途径,但在你的情况下显然是

Cabal -> ghc (link step) -> gcc -> ld

所以为了匹配这个,你必须指定

ghc-options: -optl-Wl,--enable-stdcall-fixup