最简单Fedora 29(30)下编译spice-gtk-0.36 (含交叉编译方法)

 

一、下载文件:

编译gtk首先需要protocol的前置环境部署所以一定要先编译spice-protocol。

两个包都可以在官方下载,地址:https://www.spice-space.org/download.html

如果找不到或者无法打开网页可以从这里下载:

protocol:https://download.csdn.net/download/wastedsoul/11249717

gtk:https://download.csdn.net/download/wastedsoul/11249713

二、直接编译生成Fedora下可执行文件:

1.解压编译protocol应该都比较常规没什么可说的,给出基本命令:

    tar -xjvf spice-protocol-0.12.15.tar.bz2
    cd spice-protocol-0.12.15
    ./configure
    make
    sudo make install

2.解压gtk查看README文件有说明:

Build dependencies:
------------------

. On Fedora use:

dnf builddep spice-gtk

所以执行命令: dnf builddep spice-gtk

然后根据提示进行常规编译。一般在执行configure的时候不会出现问题(小问题百度可解),但是在make的时候我这里提示找不到

SPICE_TUNNEL_SERVICE_TYPE_IPP
SPICE_TUNNEL_IP_TYPE_IPv4

通过排查发现这两个枚举定义在enums.h文件中,而且发现在/usr/include/spice-1/spice/下的enums.h没有对其进行定义,我直接将其进行了替换执行cp /usr/local/include/spice-1/spice/enums.h /usr/include/spice-1/spice/  再编译(同protocol方法)就通过了。

期间应该还需要依赖glib和redhat-rpm-config,所以这里给出参考:

yum install json-glib-devel
dnf install redhat-rpm-config

最后生成的可执行文件在tools中

直接运行./spicy就可以看到界面然后输入远端kvm地址就可以使用了。

到此Fedrora版本安装运行完成。

 

三、Fedora交叉编译生成WINDOWS下可执行EXE文件:

1.在Fedora下安装windows环境,这里只给出64位的方法。(32位同理)

yum install mingw64-*

2.接下来将protocol和gtk的压缩包解压编译(最好在一个自己创建的新的文件夹下进行解压编译,这样可以防止后期自己不清楚哪个版本)

protocol:
tar -xjvf spice-protocol-0.12.15.tar.bz2
cd spice-protocol-0.12.15
mingw64-configure
mingw64-make 
sudo mingw64-make install

gtk:
tar -xjvf spice-gtk-0.36.tar.bz2
cd spice-gtk-0.36
mingw64-configure
mingw64-make 
sudo mingw64-make install

---------------------------------------------------------------------------------------------------

备注:由于我觉得在windows上直接使用鼠标点一点操作会更方便,所以还重新交叉编译了virt-viewer,下面也给出方法,如果不需要的可以直接跳过。同样给出编译方法:

virt-viewer:
tar -xzvf virt-viewer-8.0.tar.gz
cd virt-viewer-8.0
mingw64-configure
mingw64-make 
sudo mingw64-make install

-------------------------------------------------------------------------------------------------------

到这里就完成了编译,最后生成文件目录: /usr/x86_64-w64-mingw32/sys-root/mingw/bin

最后导出到windows系统上,需要注意运行exe需要依赖交叉编译的各种dll依赖,需要同时导出。最后运行效果:

到此为止一切完成,如果有问题可以评论交流。祝君好运。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章