获取 GHC 编译程序的 cabal 版本?
Getting the cabal version of a GHC compiled program?
如果我使用 GHC 的 cabal build
编译可执行文件,有没有办法从 main
函数内部获取项目 .cabal
文件中所述的版本号?
例如,我们可以使用以下方式获取主程序名称:
import System.Environment
main = do
progName <- getProgName
...
我们能不能写一个类似的函数getProgVer
来获取 cabal 定义的版本号?
是的,你可以:
import Paths_PKGNAME
main = print version
Cabal 将创建一个模块 Paths_PKGNAME
(其中 PKGNAME
是您的包的名称),其中包含包的版本。 users guide.
中的更多信息
如果我使用 GHC 的 cabal build
编译可执行文件,有没有办法从 main
函数内部获取项目 .cabal
文件中所述的版本号?
例如,我们可以使用以下方式获取主程序名称:
import System.Environment
main = do
progName <- getProgName
...
我们能不能写一个类似的函数getProgVer
来获取 cabal 定义的版本号?
是的,你可以:
import Paths_PKGNAME
main = print version
Cabal 将创建一个模块 Paths_PKGNAME
(其中 PKGNAME
是您的包的名称),其中包含包的版本。 users guide.