背景
目前,我正在开展一个涉及计算机视觉的项目。
我用..
- Haskell作为编程语言。
- 用于创建GUI的GTK +。
- FFmpeg从路径或网络摄像头读取和提取视频/帧
- 一些边缘检测算法。
我想..
- 将视频(未修改的输入视频以及修改后的输出视频)渲染到作为GTK库一部分的drawingarea小部件。
我的设置
- Windows 10 - 64位
- MSYS2 / Mingw32
- Haskell平台(GHC 8.0.1)
- Cabal版本1.24.0.0
- ffmpeg-light-0.12.0
- gtk-0.14.6
问题
要使用GTK渲染视频,我需要为GI安装绑定,因此我尝试安装包' haskell-gi' ,但由于未定义,它在链接阶段失败参考
示例
运行{
"_id" : { "$oid" : "67bg............"},
"ID" : "xxxxxxxx",
"senses" : [
{
"word" : "hello",
"lang" : "EN",
"source" : "EN_DICTIONARY"
},
{
"word" : "bye",
"lang" : "EN",
"source" : "EN_DICTIONARY"
}
]
}
后,我得到了:
cabal install haskell-gi
注意
这个未定义的引用是在.c / .h文件中定义的方法,它们是GObjects' gobject-introspection文件夹。
到目前为止我尝试了什么?
在安装Gtk2Hs和ffmpeg-light的同时,我遇到了类似的问题,但我能够摆脱......
- 下载开发源文件并将--extra-include-dir或--extra-lib-dir标签添加到cabal安装中
- 将链接器标志(pkg-config --libs gobject-introspection-1.0)添加到cabal设置中
- 下载缺失的库并将其添加到PATH中
- 修改.pc文件(属于package-config的一部分)
以上所有选项都不适用于' haskell-gi' 。我也搜索了相关的东西,但那也没有用。
问题
你们有谁知道如何克服这个问题?任何帮助表示赞赏。
答案 0 :(得分:1)
我不知道在Windows上调用了什么软件包,但在Ubuntu上,我必须单独安装GTK和GI的C库/标题
sudo apt install libgirepository1.0-dev
sudo apt install libgtk-3-dev
因为cabal
(或者在我的情况下,stack
)没有为我安装这些(虽然我得到different error messages)。
如果你已经这样做了,你就不会说,但https://www.gtk.org/download/windows.php说你应该
pacman -S mingw-w64-x86_64-gtk3
pacman -S mingw-w64-x86_64-toolchain base-devel
因为你已经有了MSYS。
如果您可以发布您的cabal设置或链接到回购邮件,这可能会有所帮助。
(您可能还会发现https://github.com/lettier/movie-monad对您的项目有用。)