更重要的是,我正在尝试使用Stackage (LTS8.1)中的sdl2包。但是,我遇到了一个小问题;这个包缺少编译器标志,这在this issue on GitHub中有详细说明。因此,它不能正确地构建。
但是,如果我克隆存储库,我可以将缺少的编译器标志添加到.cabal文件中,并自己构建它,这就解决了问题。我现在有了一个可以工作的包构建。
所以我的问题是:在一个单独的项目中,我如何使用我自己的sdl2包的工作版本,而不是Stackage中的版本?
发布于 2017-02-19 22:20:18
使用Stack有几种方法可以做到这一点。我最喜欢的一种方式,听起来很适合您的场景,就是使用分支将存储库上传到GitHub (或任何您认为合适的地方),然后将对在线存储库的引用作为extra-dep添加到stack.yaml的packages section中。为了便于说明,这里是我的一个项目的packages部分,在这个项目中我必须这样做:
packages:
- '.'
- location:
git: https://github.com/duplode/threepenny-gui
commit: 7e4e3a41cbb5e55312d4375612790d633ccf1e7a
extra-dep: truehttps://stackoverflow.com/questions/42327396
复制相似问题