如何使用 msys2 构建 gtk3 [静态]?

如何使用 msys2 构建 gtk3 [静态]?

我正在尝试构建 gtk+-3.22.30,因为我在任何地方都找不到它 [静态链接库]。我下载了 msys2 32 位,安装了 mingw32(gcc 7.3.0)并将其添加到 Windows 中的环境变量中。pkg-config 和 make 文件也包括在内。

我下载了 gtk tar,提取文件,运行 ./configure,它需要一些依赖项,例如 pango、glib、atk、libiconv……等等。

我下载这些依赖项后,该怎么办?我是否也需要编译它们?我是否需要将 pkg-config 添加到 make 命令中?我曾尝试在运行 configure 命令后编译其中一个依赖项,然后在 msys2 控制台中看到此信息

我对从源代码构建软件还很陌生,对./configure make all make install命令和参数了解甚少。我是否遗漏了链接一些库,错误的编译器(32 位)?我如何强制从源代码构建 32 位?

 sea@DESKTOP-6D2EANF MINGW32 ~/libiconv-1.15
$ make
builddir="`pwd`"; cd libcharset && make all && make install-lib libdir="$builddi                           r/lib" includedir="$builddir/lib"
make[1]: Entering directory '/home/sea/libiconv-1.15/libcharset'
cd lib && make all
make[2]: Entering directory '/home/sea/libiconv-1.15/libcharset/lib'
/bin/sh ../libtool --mode=link gcc  -g -O2 -fvisibility=hidden -o libcharset.la                            -rpath /home/sea/libiconv/lib -version-info 1:0:0 -no-undefined localcharset.lo                            relocatable.lo
libtool: link: gcc -o .libs/libcharset.dll.a  .libs/localcharset.o .libs/relocat                           able.o   -g -O2   `func_echo_all "" | /usr/bin/sed 's/ -lc$//'` -link -dll
C:/msys32/mingw32/bin/../lib/gcc/i686-w64-mingw32/7.3.0/../../../../i686-w64-min                           gw32/bin/ld.exe: cannot find -link
collect2.exe: error: ld returned 1 exit status
make[2]: *** [Makefile:59: libcharset.la] Error 1
make[2]: Leaving directory '/home/sea/libiconv-1.15/libcharset/lib'
make[1]: *** [Makefile:34: all] Error 2
make[1]: Leaving directory '/home/sea/libiconv-1.15/libcharset'
make: *** [Makefile:42: lib/localcharset.h] Error 2

相关内容