Raku:在Windows上安装Gnome::Gtk3

5

我正在尝试在Windows电脑上安装Raku模块«Gnome::Gtk3»,但没有成功。

Powershell> zef install Gnome::Gtk3

这个问题会产生许多“无法找到本地库”的错误信息。

我已经使用choco安装了Raku和git,并修复了路径。由于缺少文档,这本身就花费了相当长的时间。

我按照https://www.gtk.org/docs/installations/windows上所述进行了Gtk的安装。

但是Raku无法定位库。这个问题可以解决吗,还是我必须使用Windows子系统来进行Linux?

(我知道“GTK::Simple”模块,但无法将其用作替代品,因为它不支持键盘中断 - 这是我需要的。 我已经安装了它,因为它声明安装了GTK dll文件。)


我尝试使用MSYS2执行此操作,但也失败了,请参见此GitHub问题(链接:https://github.com/MARTIMM/gnome-gtk3/issues/13)。 - Håkon Hægland
2个回答

4
为了让这种模块工作,你需要使用库的-dev版本,也就是实际上NativeCall使用的DLL。这个教程展示了如何为C++和Python设置它们,对于Raku应该也不会有太大差异。

这些DLL文件是否与GTK :: Simple在此处捆绑的相同:https://gtk-dlls.p6c.org/ - Arne Sommer
@ArneSommer 看起来是这样的,没错。 - jjmerelo

2

现在可以在MSYS2上安装,Windows 10。首先从这里下载最新版本的rakudo,并将zip文件解压到例如C:\ rakudo-2020.11 。然后安装MSYS2,完成后打开MSYS2终端窗口并安装以下软件包:

$ pacman -Syu
$ pacman -S base-devel gcc git libcrypt-devel libreadline
$ pacman -S mingw-w64-x86_64-gtk3
$ pacman -S mingw-w64-x86_64-toolchain

请将以下内容添加到MSYS2的~/.bashrc配置文件中:
export PKG_CONFIG_PATH=/mingw64/lib/pkgconfig
export PATH="$PATH:/c/rakudo-2020.11/bin:/c/rakudo-2020.11/share/perl6/site/bin"
export PATH="$PATH:/mingw64/bin"

保存更新的.bashrc文件,并从MSYS2终端提示重新加载它:
$ source ~/.bashrc

最后,安装Gnome::Gtk3
$ zef install Gnome::Gtk3


它不能工作。我按照描述做了一切,但是"zef install Gnome::Gtk3"失败了,"无法定位本地库'gobject-2.0-0.dll':错误代码0x7e"。 - Arne Sommer
你是否已经安装了.dll文件?如果我在MSYS2终端窗口中运行file /mingw64/bin/libgobject-2.0-0.dll,我会得到以下输出: /mingw64/bin/libgobject-2.0-0.dll: PE32+ executable (DLL) (console) x86-64 (stripped to external PDB), for MS Windows - Håkon Hægland
echo $PATH 的输出是什么? - Håkon Hægland
/usr/local/bin:/usr/bin:/bin:/opt/bin:/c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/d/rakudo-2020.12/bin:/d/rakudo-2020.12/share/perl6/site/bin:/mingw64/bin - Arne Sommer
Finnsen Sommer@DESKTOP-4159HST MSYS ~/tmp/gnome-gobject $ prove6 ===对不起!=== 在编译 D:\msys64\home\Finnsen Sommer\tmp\gnome-gobject/t\Boxed.t 时出错 无法在以下位置找到 Gnome::N::X: inst#D:\msys64\home\Finnsen Sommer.raku inst#D:\rakudo-2020.12\share\perl6\site inst#D:\rakudo-2020.12\share\perl6\vendor inst#D:\rakudo-2020.12\share\perl6\core ap# nqp# perl5# 位于 D:\msys64\home\Finnsen Sommer\tmp\gnome-gobject/t\Boxed.t 的第 5 行 t\Boxed.t .. 不确定,测试返回了 1 - Arne Sommer
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接