Windows下编译spice客户端

Posted zengzhihua

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows下编译spice客户端相关的知识,希望对你有一定的参考价值。

目录

 

1 安装msys2

1.1 更新软件包

pacman -Syu
path suffx desc
mingw64include .h
mingw64lib .dll .a
mingw64in .exe .dll
mingw64etc
mingw64libexec .exe
mingw64share

1.2 安装开发工具

pacman -S  base-devel

   1) asciidoc  2) autoconf  3) autoconf2.13  4) autogen  5) automake-wrapper
   6) automake1.10  7) automake1.11  8) automake1.12  9) automake1.13
   10) automake1.14  11) automake1.15  12) automake1.16  13) automake1.6
   14) automake1.7  15) automake1.8  16) automake1.9  17) bison  18) diffstat
   19) diffutils  20) dos2unix  21) file  22) flex  23) gawk  24) gdb
   25) gettext  26) gettext-devel  27) gperf  28) grep  29) groff  30) help2man
   31) intltool  32) lemon  33) libtool  34) libunrar  35) libunrar-devel
   36) m4  37) make  38) man-db  39) pacman  40) pactoys-git  41) patch
   42) patchutils  43) perl  44) pkg-config  45) pkgfile  46) quilt  47) rcs
   48) scons  49) sed  50) swig  51) texinfo  52) texinfo-tex  53) ttyrec
   54) unrar  55) wget  56) xmlto

1.3 安装工具链

pacman -S  mingw-w64-x86_64-toolchain
or
pacman -S mingw-w64-i686-toolchain

   1) mingw-w64-x86_64-binutils  2) mingw-w64-x86_64-crt-git
   3) mingw-w64-x86_64-gcc  4) mingw-w64-x86_64-gcc-ada
   5) mingw-w64-x86_64-gcc-fortran  6) mingw-w64-x86_64-gcc-libgfortran
   7) mingw-w64-x86_64-gcc-libs  8) mingw-w64-x86_64-gcc-objc
   9) mingw-w64-x86_64-gdb  10) mingw-w64-x86_64-headers-git
   11) mingw-w64-x86_64-libmangle-git  12) mingw-w64-x86_64-libwinpthread-git
   13) mingw-w64-x86_64-make  14) mingw-w64-x86_64-pkg-config
   15) mingw-w64-x86_64-tools-git  16) mingw-w64-x86_64-winpthreads-git
   17) mingw-w64-x86_64-winstorecompat-git

2 编译remote-viewer

2.1 编译spice-protocol

tar -jxvf spice-protocol-0.12.13.tar.bz2
cd spice-protocol-0.12.13
./configure
make 
make install

# 默认安装在mingw64
/usr/bin/mkdir -p ‘/mingw64/include/spice-1/spice
/usr/bin/install -c -m 644 spice-protocol.pc ‘/mingw64/share/pkgconfig

2.2 安装usbredir

pacman -S mingw-w64-x86_64-usbredir
软件包 (2) mingw-w64-x86_64-libusb-1.0.22-1  mingw-w64-x86_64-usbredir-0.8.0-1

如果需要 libusb-1.0.21 + usbredir-0.7.1,分别下载源码,然后make install。

2.3 安装gstreamer

pacman -S mingw-w64-x86_64-gst-libav mingw-w64-x86_64-gst-plugins-bad mingw-w64-x86_64-gst-plugins-base mingw-w64-x86_64-gst-plugins-good mingw-w64-x86_64-gst-plugins-ugly mingw-w64-x86_64-gstreamer

2.4 编译spice-gtk

$ pacman -Ss spice-gtk
mingw64/mingw-w64-x86_64-spice-gtk 0.35-3
    GTK3 widget for SPICE clients (mingw-w64)

$ pacman -S mingw-w64-x86_64-spice-gtk
软件包 (29) mingw-w64-x86_64-cyrus-sasl-2.1.27.rc8-1  mingw-w64-x86_64-dbus-1.12.12-1  mingw-w64-x86_64-dbus-glib-0.110-1  mingw-w64-x86_64-devil-1.8.0-4  mingw-w64-x86_64-gdbm-1.18.1-1
            mingw-w64-x86_64-gobject-introspection-1.58.2-1  mingw-w64-x86_64-gobject-introspection-runtime-1.58.2-1  mingw-w64-x86_64-graphviz-2.40.1-5  mingw-w64-x86_64-gtk2-2.24.32-3
            mingw-w64-x86_64-gtkglext-1.2.0-3  mingw-w64-x86_64-icu-62.1-1  mingw-w64-x86_64-libgd-2.2.5-1  mingw-w64-x86_64-libglade-2.6.4-5  mingw-w64-x86_64-libimagequant-2.12.2-1  mingw-w64-x86_64-libmng-2.0.3-4
            mingw-w64-x86_64-libsquish-1.15-1  mingw-w64-x86_64-lz4-1.8.3-1  mingw-w64-x86_64-nspr-4.20-1  mingw-w64-x86_64-nss-3.41-1  mingw-w64-x86_64-phodav-2.2-1  mingw-w64-x86_64-poppler-0.72.0-1
            mingw-w64-x86_64-poppler-data-0.4.9-1  mingw-w64-x86_64-python3-beaker-1.10.0-2  mingw-w64-x86_64-python3-mako-1.0.7-3  mingw-w64-x86_64-python3-markupsafe-1.1.0-1
            mingw-w64-x86_64-spice-protocol-0.12.14-1  mingw-w64-x86_64-vala-0.42.4-1  mingw-w64-x86_64-xpm-nox-4.2.0-5  mingw-w64-x86_64-spice-gtk-0.35-3

msys2中有0.35-3,这里选择手动编译0.34

2.4.1 安装pixman
pacman -S mingw-w64-x86_64-pixman
软件包 (1) mingw-w64-x86_64-pixman-0.36.0-1
2.4.2 安装gtk3
pacman -S mingw-w64-x86_64-gtk3
软件包 (30) mingw-w64-x86_64-adwaita-icon-theme-3.30.1-1
            mingw-w64-x86_64-atk-2.30.0-1  mingw-w64-x86_64-cairo-1.16.0-1
            mingw-w64-x86_64-fontconfig-2.13.1-1
            mingw-w64-x86_64-freeglut-3.0.0-4
            mingw-w64-x86_64-freetype-2.9.1-1  mingw-w64-x86_64-fribidi-1.0.5-1
            mingw-w64-x86_64-gdk-pixbuf2-2.38.0-1
            mingw-w64-x86_64-glib2-2.58.1-1
            mingw-w64-x86_64-graphite2-1.3.12-1
            mingw-w64-x86_64-harfbuzz-2.2.0-1
            mingw-w64-x86_64-hicolor-icon-theme-0.17-1
            mingw-w64-x86_64-jasper-2.0.14-1
            mingw-w64-x86_64-json-glib-1.4.4-1
            mingw-w64-x86_64-libcroco-0.6.12-1
            mingw-w64-x86_64-libdatrie-0.2.12-1
            mingw-w64-x86_64-libepoxy-1.5.3-1
            mingw-w64-x86_64-libjpeg-turbo-2.0.1-1
            mingw-w64-x86_64-libpng-1.6.35-1
            mingw-w64-x86_64-librsvg-2.40.20-1
            mingw-w64-x86_64-libthai-0.1.28-2
            mingw-w64-x86_64-libtiff-4.0.10-1  mingw-w64-x86_64-libxml2-2.9.8-1
            mingw-w64-x86_64-lzo2-2.10-1  mingw-w64-x86_64-pango-1.42.4-2
            mingw-w64-x86_64-pcre-8.42-1
            mingw-w64-x86_64-shared-mime-info-1.10-1
            mingw-w64-x86_64-wineditline-2.205-1  mingw-w64-x86_64-zstd-1.3.7-1
            mingw-w64-x86_64-gtk3-3.24.1-1
2.4.3 编译spice-gtk
tar -jxvf spice-gtk-0.34.tar.bz2
cd spice-gtk-0.34
./configure

configure:

        Spice-Gtk 0.34
        ==============

        prefix:                   /mingw64
        c compiler:               gcc
        Target:                   Windows

        Gtk:                      3.0
        Coroutine:                winfiber
        PulseAudio:               no
        GStreamer Audio:          yes
        GStreamer Video:          yes
        SASL support:             no
        Smartcard support:        no
        USB redirection support:  yes
        DBus:                     yes
        WebDAV support:           no
        LZ4 support:              no

        Now type ‘make‘ to build spice-gtk
 
 make
 make install
2.4.4 执行spicy
$ spicy

(spicy.exe:13972): GStreamer-WARNING **: 14:12:23.666: Failed to load plugin 
‘D:msys64mingw64libgstreamer-1.0libgstopencv.dll‘: 
‘D:msys64mingw64libgstreamer-1.0libgstopencv.dll‘: ????????????顣

(spicy.exe:13972): GSpice-CRITICAL **: 14:12:23.701: _usbdk_hider_update: 
assertion ‘priv->usbdk_api != NULL‘ failed

技术分享图片

2.5 virt-viewer

2.5.1 安装icoutils
pacman -S mingw-w64-x86_64-icoutils
2.5.2 编译virt-viewer
./configure

configure:
configure:      LIBXML2: -ID:/msys64/mingw64/include/libxml2 -LD:/msys64/mingw64/lib -lxml2
configure:
configure:      LIBVIRT:
configure:
configure:        OVIRT:
configure:

make
make install

以上是关于Windows下编译spice客户端的主要内容,如果未能解决你的问题,请参考以下文章

windows下编译调试nginx

windows下编译leveldb

MuPDF怎么在windows环境下编译

windows 下编译libcurl

如何在 Windows 下编译 OpenSSL

请问如何在windows下编译c代码为Linux系统的可执行文件呢