如何在 Ubuntu 22.04 中安装 mingw-w64-x86_64-gtk3?

如何在 Ubuntu 22.04 中安装 mingw-w64-x86_64-gtk3?

我正在使用 MingW32 并尝试安装软件包mingw-w64-x86_64-gtk3,但是无法通过 获得apt install,而且似乎只能通过 进行安装pacman。有人可以告诉我如何让它工作吗(可能不使用 MSYS2,因为我几乎让所有东西都正常工作,只是缺少 GTK3 部分)。

也就是说,我需要这个包,但看起来你只能使用以下命令从 MSYS2 中获取它pacmanhttps://packages.msys2.org/package/mingw-w64-x86_64-gtk3

环境/设置:

  • Windows 11
  • Ubuntu 22.04(WSL2)
    • apt install mingw-w64

我能够使用 MingW32 在 Ubuntu 22.04 中编译所有 CLI 可执行文件,并在 Windows 中正常运行。我还有 2 个小型 GUI 应用程序,我想让它们也能工作,它们使用 GTK3。我也能编译它们,但只能在 Windows 中使用 MSYS2,但我真的只想在 Ubuntu 环境之外编译/构建所有内容,以使一切保持简单。

答案1

我做了准MSYS2,它有助于在 Linux 上下载 MSYS2 包。

sudo apt install make wget tar zstd gpg

git clone https://github.com/HolyBlackCat/quasi-msys2
cd quasi-msys2/
make install _gtk4   # equivalent to `make install mingw-w64-x86_64-gtk4`

这会将 GTK4 下载到当前目录(./root/mingw64/)供您使用。

但有一个问题:MinGW 有不同的版本,MSYS2 提供的版本可能与 Ubuntu 提供的版本兼容,也可能不兼容。

推荐的构建方法不依赖于外部 MinGW。相反,我建议使用 Clang,如果提供了正确的库(我们从 MSYS2 下载),它可以与任何 MinGW 版本兼容。

sudo apt install wine   # Optional.

# Install latest Clang
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh
rm llvm.sh

# Install more packages
make install _gcc _gdb    # We won't be using GCC, but we need libraries that come with it.

# Opens a new shell with the right environment variables configured.
env/shell.sh

然后,在 Hello World 上进行测试这里

# Notice `pkg-config` picking up the correct libraries.
win-clang++ hello_world.cpp `pkg-config --cflags --libs gtk4`
# This opens the app in Wine:
./a.exe

相关内容