如何让 GHC 默认生成动态链接的二进制文件?
How to make GHC generate dynamically linked binaries by default?
是否可以更改 cabal 或 GHC 设置,以便 cabal install
默认生成动态二进制文件和库?
我正在使用 GHC 8.2.2,在 Ubuntu (16.04) 中使用 apt-get
安装,没有 Haskell 平台或堆栈。四处寻找,我发现了 SO 问题 。 answers/comments 那里说了一些关于在 cabal install
时添加 --enable-shared --enable-executable-dynamic
的内容。这可以为所有依赖库手动完成(这会很痛苦)。
在 Small Haskell program compiled with GHC into huge binary 中,接受的答案表明需要:
cabal install some_package --enable-shared --reinstall
选项-dynamic
也被提及。
我的问题是:
是否可以从一开始就更改 cabal 配置文件 (~/.cabal/config
) 中的选项,以便所有二进制文件及其依赖库都使用动态链接(即 --enable-shared
--enable-executable-dynamic
或默认 -dynamic
)?
事实上,您可以更改 ~/.cabal/config
文件以包含以下行:
shared: True
executable-dynamic: True
是否可以更改 cabal 或 GHC 设置,以便 cabal install
默认生成动态二进制文件和库?
我正在使用 GHC 8.2.2,在 Ubuntu (16.04) 中使用 apt-get
安装,没有 Haskell 平台或堆栈。四处寻找,我发现了 SO 问题 。 answers/comments 那里说了一些关于在 cabal install
时添加 --enable-shared --enable-executable-dynamic
的内容。这可以为所有依赖库手动完成(这会很痛苦)。
在 Small Haskell program compiled with GHC into huge binary 中,接受的答案表明需要:
cabal install some_package --enable-shared --reinstall
选项-dynamic
也被提及。
我的问题是:
是否可以从一开始就更改 cabal 配置文件 (~/.cabal/config
) 中的选项,以便所有二进制文件及其依赖库都使用动态链接(即 --enable-shared
--enable-executable-dynamic
或默认 -dynamic
)?
事实上,您可以更改 ~/.cabal/config
文件以包含以下行:
shared: True
executable-dynamic: True